Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vpython: No such file or directory when running $ source libraries/setup_build_env.sh on macOS #105

Open
MartyLake opened this issue Apr 2, 2024 · 2 comments

Comments

@MartyLake
Copy link

MartyLake commented Apr 2, 2024

Reproduction steps:

/tmp$ git clone https://github.com/windowjs/windowjs
Cloning into 'windowjs'...
remote: Enumerating objects: 2035, done.
remote: Counting objects: 100% (473/473), done.
remote: Compressing objects: 100% (164/164), done.
remote: Total 2035 (delta 336), reused 380 (delta 303), pack-reused 1562
Receiving objects: 100% (2035/2035), 3.62 MiB | 19.80 MiB/s, done.
Resolving deltas: 100% (1211/1211), done.
/tmp$ cd windowjs/
/tmp/windowjs$ source libraries/setup_build_env.sh
Setting up repository at /tmp/windowjs

Checking CMake version

cmake version 3.29.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Checking Clang version

Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Applications/Xcode_14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Checking out the Chrome depot_tools at libraries/depot_tools

Cloning into 'libraries/depot_tools'...
remote: Sending approximately 47.21 MiB ...
remote: Total 58367 (delta 42118), reused 58367 (delta 42118)
Receiving objects: 100% (58367/58367), 47.21 MiB | 35.44 MiB/s, done.
Resolving deltas: 100% (42118/42118), done.

Verifying depot_tools gclient version (this may download additional tools)

WARNING: Your metrics.cfg file was invalid or nonexistent. A new one will be created.
gclient.py 0.7

Checking out the ninja build tool

Cloning into 'libraries/ninja'...
remote: Enumerating objects: 12584, done.
remote: Counting objects: 100% (404/404), done.
remote: Compressing objects: 100% (276/276), done.
remote: Total 12584 (delta 226), reused 232 (delta 126), pack-reused 12180
Receiving objects: 100% (12584/12584), 4.71 MiB | 1.67 MiB/s, done.
Resolving deltas: 100% (8840/8840), done.

Building the ninja build tool

/tmp/windowjs/libraries/ninja /tmp/windowjs
-bash: /tmp/windowjs/libraries/depot_tools/vpython: No such file or directory
/tmp/windowjs

Ninja build failed.

FAILED

do you know what could be the reason ?

@joaodasilva
Copy link
Contributor

Seems like vpython has been removed from depot_tools:

https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/1a9212693840dce7fa1d278898d6985e44c2a9e1

Replacing vpython with vpython3 in the scripts might work, but I haven't checked that.

@MartyLake
Copy link
Author

Here is what I tried :

cd /tmp/windowsjs
git checkout .
git clean -xdfff
git grep -l "vpython" | xargs -n1 ex -s -u NONE "+%s/vpython/vpython3/g" "+x"
git --no-pager diff
source libraries/setup_build_env.sh

that seems to goes further, but now I get an error with libraries/update_path.py:

Building the gn build tool

/tmp/windowjs/libraries/gn /tmp/windowjs
ninja: Entering directory `out'
[199/199] LINK gn
/tmp/windowjs

Updating PATH to use depot_tools and gn

  File "libraries/update_path.py", line 15
    print '%s%s%s%s%s%s%s' % (ninja, os.pathsep, gn, os.pathsep, depot_tools, os.pathsep, PATH)
          ^
SyntaxError: invalid syntax

Verifying gn and ninja in PATH

bash: gn: No such file or directory

Failed to check GN version

FAILED

installed python is

/private/tmp/windowjs$ python -V
Python 2.7.18

which looks like the correct major of python for this kind of print statement IIUC.

Click here to see the full console text of commands cited earlier
/tmp$ cd /tmp/windowsjs
/tmp/windowjs
/tmp/windowjs$ git checkout .
Updated 2 paths from the index
/tmp/windowjs$ git clean -xdfff
Removing libraries/depot_tools/
Removing libraries/gn/
Removing libraries/ninja/
/tmp/windowjs$ git grep -l "vpython" | xargs -n1 ex -s -u NONE "+%s/vpython/vpython3/g" "+x"
/tmp/windowjs$ git --no-pager diff
diff --git a/libraries/setup_build_env.sh b/libraries/setup_build_env.sh
index 7f5b26f..ce9dd91 100644
--- a/libraries/setup_build_env.sh
+++ b/libraries/setup_build_env.sh
@@ -88,7 +88,7 @@ if [ ! -f "libraries/ninja/ninja" ]; then
   echo "Building the ninja build tool"
   echo
   pushd libraries/ninja
-  "${depot_tools}/vpython" configure.py --bootstrap
+  "${depot_tools}/vpython3" configure.py --bootstrap
   popd
 fi

@@ -118,7 +118,7 @@ if [ ! -f "libraries/gn/out/gn" ]; then
   echo "Building the gn build tool"
   echo
   pushd libraries/gn
-  "${depot_tools}/vpython" build/gen.py
+  "${depot_tools}/vpython3" build/gen.py
   "${depot_tools}/../ninja/ninja" -C out gn
   popd
 fi
@@ -136,7 +136,7 @@ echo
 echo "Updating PATH to use depot_tools and gn"
 echo

-export PATH=`"${depot_tools}/vpython" libraries/update_path.py "$PWD"`
+export PATH=`"${depot_tools}/vpython3" libraries/update_path.py "$PWD"`
 # Forgets all remembered locations:
 hash -r

diff --git a/libraries/update_path.py b/libraries/update_path.py
index 2d7c28d..9446d84 100644
--- a/libraries/update_path.py
+++ b/libraries/update_path.py
@@ -10,6 +10,6 @@ ninja = '%s/libraries/ninja' % repo

 paths = os.environ['PATH'].split(os.pathsep)

-PATH = os.pathsep.join(p for p in paths if not repo in p and not '.vpython-root' in p)
+PATH = os.pathsep.join(p for p in paths if not repo in p and not '.vpython3-root' in p)

 print '%s%s%s%s%s%s%s' % (ninja, os.pathsep, gn, os.pathsep, depot_tools, os.pathsep, PATH)
/tmp/windowjs$ source libraries/setup_build_env.sh
Setting up repository at /tmp/windowjs

Checking CMake version

cmake version 3.29.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Checking Clang version

Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Applications/Xcode_14.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Checking out the Chrome depot_tools at libraries/depot_tools

Cloning into 'libraries/depot_tools'...
remote: Sending approximately 47.35 MiB ...
Receiving objects:  63% (36840/58475), 15.52 MiBReceiving objects:  64% (37424/58475), 15.52 MiBReceiving objects:  65% (38009/58475), 15.52 MiBReceiving objects:  66% (38594/58475), 15.52 MiBReceiving objects:  67% (39179/58475), 15.52 MiBReceiving objects:  68% (39763/58475), 15.52 MiBReceiving objects:  69% (40348/58475), 15.52 MiBReceiving objects:  70% (40933/58475), 15.52 MiBReceiving objects:  71% (41518/58475), 15.52 MiBReceiving objects:  72% (42102/58475), 15.52 MiBReceiving objects:  73% (42687/58475), 15.52 MiBReceiving objects:  74% (43272/58475), 15.52 MiBReceiving objects:  75% (43857/58475), 15.52 MiBReceiving objects:  76% (44441/58475), 15.52 MiBReceiving objects:  77% (45026/58475), 15.52 MiBReceiving objects:  78% (45611/58475), 15.52 MiBReceiving objects:  79% (46196/58475), 15.52 MiBReceiving objects:  80% (46780/58475), 15.52 MiBReceiving objects:  81% (47365/58475), 15.52 MiBReceiving objects:  82% (47950/58475), 15.52 MiBReceiving objects:  83% (48535/58475), 15.52 MiBReceiving objects:  84% (49119/58475), 15.52 MiBReceiving objects:  85% (49704/58475), 15.52 MiBReceiving objects:  86% (50289/58475), 15.52 MiBReceiving objects:  87% (50874/58475), 15.52 MiBReceiving objects:  88% (51458/58475), 15.52 MiBReceiving objects:  89% (52043/58475), 15.52 MiBReceiving objects:  90% (52628/58475), 15.52 MiBReceiving objects:  91% (53213/58475), 15.52 MiBReceiving objects:  92% (53797/58475), 15.52 MiBReceiving objects:  93% (54382/58475), 15.52 MiBReceiving objects:  94% (54967/58475), 15.52 MiBReceiving objects:  94% (55314/58475), 15.52 MiBReceiving objects:  95% (55552/58475), 15.52 MiBReceiving objects:  96% (56136/58475), 43.25 MiBReceiving objects:  97% (56721/58475), 43.25 MiBReceiving objects:  98% (57306/58475), 43.25 MiBReceiving objects:  99% (57891/58475), 43.25 MiBremote: Total 58475 (delta 42170), reused 58475 (delta 42170)
Receiving objects: 100% (58475/58475), 43.25 MiBReceiving objects: 100% (58475/58475), 47.35 MiB | 43.49 MiB/s, done.
Resolving deltas: 100% (42170/42170), done.

Verifying depot_tools gclient version (this may download additional tools)

WARNING: Your metrics.cfg file was invalid or nonexistent. A new one will be created.
gclient.py 0.7

Checking out the ninja build tool

Cloning into 'libraries/ninja'...
remote: Enumerating objects: 12584, done.
remote: Counting objects: 100% (404/404), done.
remote: Compressing objects: 100% (274/274), done.
remote: Total 12584 (delta 227), reused 235 (delta 128), pack-reused 12180
Receiving objects: 100% (12584/12584), 4.72 MiB | 23.35 MiB/s, done.
Resolving deltas: 100% (8839/8839), done.

Building the ninja build tool

/tmp/windowjs/libraries/ninja /tmp/windowjs
bootstrapping ninja...
warning: A compatible version of re2c (>= 0.15.3) was not found; changes to src/*.in.cc will not affect your build.
./src/metrics.cc:40:19: warning: unused function 'GetFrequency' [-Wunused-function]
constexpr int64_t GetFrequency() {
                  ^
1 warning generated.
wrote build.ninja.
bootstrap complete.  rebuilding...
[17/32] CXX build/metrics.o
src/metrics.cc:40:19: warning: unused function 'GetFrequency' [-Wunused-function]
constexpr int64_t GetFrequency() {
                  ^
1 warning generated.
[32/32] LINK ninja
/tmp/windowjs

Checking out the gn build tool

Cloning into 'libraries/gn'...
remote: Sending approximately 33.20 MiB ...
remote: Counting objects: 1, done
Receiving objects:  66% (21779/32997), 19.49 MiBReceiving objects:  67% (22108/32997), 19.49 MiBReceiving objects:  68% (22438/32997), 19.49 MiBReceiving objects:  69% (22768/32997), 19.49 MiBReceiving objects:  70% (23098/32997), 19.49 MiBReceiving objects:  71% (23428/32997), 19.49 MiBReceiving objects:  72% (23758/32997), 19.49 MiBReceiving objects:  73% (24088/32997), 19.49 MiBReceiving objects:  74% (24418/32997), 19.49 MiBReceiving objects:  75% (24748/32997), 19.49 MiBReceiving objects:  76% (25078/32997), 19.49 MiBReceiving objects:  77% (25408/32997), 19.49 MiBReceiving objects:  78% (25738/32997), 19.49 MiBReceiving objects:  79% (26068/32997), 19.49 MiBReceiving objects:  80% (26398/32997), 19.49 MiBReceiving objects:  81% (26728/32997), 19.49 MiBReceiving objects:  82% (27058/32997), 19.49 MiBReceiving objects:  83% (27388/32997), 19.49 MiBReceiving objects:  84% (27718/32997), 19.49 MiBReceiving objects:  85% (28048/32997), 19.49 MiBReceiving objects:  86% (28378/32997), 19.49 MiBReceiving objects:  87% (28708/32997), 19.49 MiBReceiving objects:  88% (29038/32997), 19.49 MiBReceiving objects:  89% (29368/32997), 19.49 MiBReceiving objects:  90% (29698/32997), 19.49 MiBReceiving objects:  91% (30028/32997), 19.49 MiBReceiving objects:  92% (30358/32997), 19.49 MiBReceiving objects:  93% (30688/32997), 19.49 MiBReceiving objects:  94% (31018/32997), 19.49 MiBReceiving objects:  95% (31348/32997), 19.49 MiBReceiving objects:  96% (31678/32997), 19.49 MiBReceiving objects:  97% (32008/32997), 19.49 MiBReceiving objects:  98% (32338/32997), 19.49 MiBremote: Total 32997 (delta 17709), reused 32997 (delta 17709)
Receiving objects:  99% (32668/32997), 19.49 MiBReceiving objects: 100% (32997/32997), 19.49 MiBReceiving objects: 100% (32997/32997), 33.18 MiB | 42.20 MiB/s, done.
Resolving deltas: 100% (17709/17709), done.

Building the gn build tool

/tmp/windowjs/libraries/gn /tmp/windowjs
ninja: Entering directory `out'
[199/199] LINK gn
/tmp/windowjs

Updating PATH to use depot_tools and gn

  File "libraries/update_path.py", line 15
    print '%s%s%s%s%s%s%s' % (ninja, os.pathsep, gn, os.pathsep, depot_tools, os.pathsep, PATH)
          ^
SyntaxError: invalid syntax

Verifying gn and ninja in PATH

-bash: gn: No such file or directory

Failed to check GN version

FAILED

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants