Sorry - I did not explain myself well enough there John.
I guess the issue that I’m pointing out is that gtk-osx-setup.sh writes the jhbuild script but writes an absolute path for $PATH to be set to rather than escaping so that $PATH is read from the environment when running jhbuild.
In the code snip from gtk-osx-setup.sh below the second $PATH should be escaped to be ‘\$PATH’ (as shown). Without this, it means that PATH only gets set correctly if the environment $PATH when calling gtk-osx-setup.sh contains something like “~/.new_local/bin”.
— snip --- cat <<EOF > “$DEVPREFIX/bin/jhbuild" #!$DEVPREFIX/bin/bash ... export PATH="$PYENV_ROOT/shims:$PATH” <<<<<<<- Should be …/shims:\$PATH ... exec $DEVPREFIX/bin/pipenv run jhbuild \$@ EOF — snip ---
This explains why people with fresh machines or fresh usernames end up with the build failing.
So the either the instructions need to say “Set your PATH to include ~/.new_local/bin before invoking gtk-osx-setup.sh” or the script needs to be fixed to include the line:
—snip— export PATH="$PYENV_ROOT/shims:$PATH” —snip --
Once I make this change, I can build a lot more of the "jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-gtk3“ stage. It still fails, btw, but I need to diagnose why and or ask some more questions!
Hope this makes sense and is helpful?
Regards Paul
Well, it's been a requirement since forever that you put $DEVPREFIX/bin in your path before invoking jhbuild, but I suppose there's no harm in also adding it with jhbuild to prevent path pollution. I hadn't noticed ~/.pythonversion. That's rude of them, I'll look for a way to bury that somewhere so that it doesn't affect other stuff. Regards, John Ralls On Feb 15, 2022, at 5:26 AM, Spock <spock rogersfamily me uk> wrote:
Hi John,
I guess the issue with the $PYENV local 23.10.0 is that it causes ~/.pythonversion to be created - which may or may not be a permanent change a developer might want?
The more serious issue is with meson not finding ninja. I think this is down to jhbuild not having ~/.new_local/bin in its path.
Here’s an example:
— snip —
j@pauls-mbp ~ [nobrew] % echo $PATH /Users/j/.new_local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Users/j/.cargo/bin j@pauls-mbp ~ [nobrew] % jhbuild shell Loading .env environment variables... Found Command Line Tools 'version: 13.2.0.0.1.1638488800' Command Line Tools version 13.200000 Prefix: /Users/j/gtk/inst Entered jhbuild shell, type 'exit' to return. j@pauls-mbp ~ % jhbuild zsh: command not found: jhbuild j@pauls-mbp ~ %
— snip —
I think this means that the jhbuild configuration installed by gtk-osx-setup.sh does not set up jhbuild so that it uses the binaries that have been installed?
I’m not sure if the issue is with jhbuild or gtk-osx-setup.sh - but I guess it’s right to start in this list before looking at what might be wrong (if anything) with jhbuild?
Regards Paul Rogers
On 15 Feb 2022, at 01:55, John Ralls <jralls ceridwen us> wrote:
On Feb 14, 2022, at 10:03 AM, Spock <spock rogersfamily me uk> wrote:
Hi, I’m running gtk-osx-setup.sh on an M1 Mac/MacOS 12.2 and am having a couple of problems ...
First off, I’m running without any homebrew paths in any of the environment variables.
Now, with this shell, when I run the script, I get the following:
— snip ---- pyenv: pip: command not found
The `pip' command exists in these Python versions: 3.10.0
Note: See 'pyenv help global' for tips on allowing both python2 and python3 to be found. pyenv: pip: command not found
The `pip' command exists in these Python versions: 3.10.0
Note: See 'pyenv help global' for tips on allowing both python2 and python3 to be found. —- snip ---
So I add a line to the script to allow it to find python:
— snip — PIP=“$PYENV_ROOT/shims/pip” # Point pyenv at the 3.10.0 Python ... $PYENV local 3.10.0 $PIP install --upgrade --user pip — snip ---
With this line, I remove the artefacts from the previous build and re-run. This time the script completes, so I move on to “./.new_local/bin/jhbuild bootstrap-gtk-osx which appears to complete successfully.
*** Was this the right thing to do?
The final step “jhbuild meta-gtk-osx-bootstrap meta-gtk-osx-gtk3 fails due to problems finding a version of ninja …
— snip --- gtk-doc 1.33.1
User defined options libdir : lib prefix : /Users/j/gtk/inst wrap_mode : nofallback tests : false yelp_manual: false
ERROR: Could not detect Ninja v1.8.2 or newer — snip ---
I checked the version installed by the script …
— snip --- j@pauls-mbp ~ [nobrew] % ./.new_local/bin/ninja —version 1.10.2 — snip ---
*** So what is happening with ninja? Is there a setup step I’m missing?
Any help much appreciated!
Your fix for pip seems reasonable. Did you remember to add ~/.new_local/bin to $PATH?
Regards, John Ralls
|