New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 608467 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

depot_tools path madness when building chromeos-chrome

Project Member Reported by derat@chromium.org, May 2 2016

Issue description

I get the following failure when I try to build a samus image (which I haven't done in a long time):

chromeos-chrome-52.0.2721.0_rc-r1: ________ running '/usr/bin/python2.7 src/tools/clang/scripts/update.py --if-needed' in '/home/derat/chrome_root'
chromeos-chrome-52.0.2721.0_rc-r1: Updating Clang to 267383-1...
chromeos-chrome-52.0.2721.0_rc-r1: Downloading prebuilt clang
chromeos-chrome-52.0.2721.0_rc-r1: Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-267383-1.tgz .......... Done.
chromeos-chrome-52.0.2721.0_rc-r1: Creating directory /home/derat/chrome_root/src/third_party/llvm-build/Release+Asserts
chromeos-chrome-52.0.2721.0_rc-r1: clang 267383-1 unpacked
chromeos-chrome-52.0.2721.0_rc-r1: Running python /home/derat/chrome_root/src/build/download_gold_plugin.py
chromeos-chrome-52.0.2721.0_rc-r1: Traceback (most recent call last):
chromeos-chrome-52.0.2721.0_rc-r1:   File "/home/derat/chrome_root/src/build/download_gold_plugin.py", line 49, in <module>
chromeos-chrome-52.0.2721.0_rc-r1:     sys.exit(main())
chromeos-chrome-52.0.2721.0_rc-r1:   File "/home/derat/chrome_root/src/build/download_gold_plugin.py", line 43, in main
chromeos-chrome-52.0.2721.0_rc-r1:     stderr=open('/dev/null', 'w'))
chromeos-chrome-52.0.2721.0_rc-r1:   File "/usr/lib64/python2.7/subprocess.py", line 540, in check_call
chromeos-chrome-52.0.2721.0_rc-r1:     raise CalledProcessError(retcode, cmd)
chromeos-chrome-52.0.2721.0_rc-r1: subprocess.CalledProcessError: Command '['python', '/home/derat/depot_tools/gsutil.py', 'cp', 'gs://chromium-browser-clang/Linux_x64/llvmgold-267383-1.tgz', 'llvmgold-267383-1.tgz']' returned non-zero exit status 1

I don't have a depot_tools subdirectory under my home dir in my chroot, but I do have one at /mnt/host/depot_tools.

src_unpack() contains the following:

    local WHOAMI=$(whoami)
    export EGCLIENT="${EGCLIENT:-/home/${WHOAMI}/depot_tools/gclient}"
    export ENINJA="${ENINJA:-/home/${WHOAMI}/depot_tools/ninja}"
    export EGN="${EGN:-/home/${WHOAMI}/depot_tools/gn}"

, although I don't think that that's being used here -- I get this failure even after manually exporting those variables with the proper /mnt/host/depot_tools paths.

download_gold_plugin.py looks like it uses find_depot_tools.py, which looks in $PATH. /mnt/host/depot_tools looks like it's in my shell's path in the chroot, so I'm not sure why that isn't working.

I updated find_depot_tools.add_depot_tools_to_path() to just return "/mnt/host/depot_tools", but now I'm getting errors like this:

chromeos-chrome-9999: ________ running '/usr/bin/python2.7 src/build/android/play_services/update.py download' in '/home/derat/chrome_root'
chromeos-chrome-9999: Traceback (most recent call last):
chromeos-chrome-9999:   File "src/build/android/play_services/update.py", line 30, in <module>
chromeos-chrome-9999:     import breakpad
chromeos-chrome-9999: ImportError: No module named breakpad
chromeos-chrome-9999: Error: Command '/usr/bin/python2.7 src/build/android/play_services/update.py download' returned non-zero exit status 1 in /home/derat/chrome_root

As an aside, it's weird how the src_unpack() code that I quoted has those paths hardcoded. mojo-9999.ebuild instead has:

  export EGCLIENT="${EGCLIENT:-/mnt/host/depot_tools/gclient}"

chromium-source.eclass also has some similar code:

  export EGCLIENT="${EGCLIENT:-/home/${WHOAMI}/depot_tools/gclient}"
 
Cc: akes...@chromium.org davidjames@chromium.org
I have a symlink; I'm not sure where/how it got created:

/home/stevenjb/depot_tools -> /mnt/host/depot_tools

If /mnt/host/depot_tools is the correct place for depot_tools, I would be in favor of using that directly in the chromeos-chrome ebuild.

Alternatively perhaps we should be checking for that link when entering the chroot?

Comment 2 by derat@chromium.org, May 2 2016

Oh, huh; I have that symlink too. Maybe I accidentally looked for it outside of the chroot before?

It failed for a different reason:

$ python /home/derat/depot_tools/gsutil.py cp gs://chromium-browser-clang/Linux_x64/llvmgold-267383-1.tgz /tmp/llvmgold-267383-1.tgz
A newer version of gsutil (4.19) is available than the version you are
running (4.13). A detailed log of gsutil release changes is available
at https://pub.storage.googleapis.com/gsutil_ReleaseNotes.txt if you
would like to read them before updating.

Would you like to update [Y/n]? 
INFO 0502 14:57:30.946952 oauth2_client.py] 
Attempted to retrieve an access token from an invalid refresh token. Two common
cases in which you will see this error are:
1. Your refresh token was revoked.
2. Your refresh token was typed incorrectly.

Your "Oauth 2.0 User Account" credentials are invalid. For more help, see "gsutil help creds", or re-run the gsutil config command (see "gsutil help config").
Failure: invalid_grant.

Running "gsutil config", going through the OAuth2 dance, and choosing an arbitrary default project ID seems to make that command succeed, at least.

I started a build using non-local source in the meantime, but when it finishes I'll see if the local build works now.
That's... odd. My gsutil.py (in /home/stevenjb/depot_tools in the chroot) is 4.13, and I don't get that warning.

Maybe see also comments in  issue 589672 

Comment 5 by derat@chromium.org, Jul 12 2016

Status: WontFix (was: Untriaged)
I'm just using the prebuilt now and sticking to the "simple Chrome" workflow, which seems like a better approach for this.

Sign in to add a comment