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 > On 15 Feb 2022, at 18:52, john <jra...@ceridwen.us> wrote: > > 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 <sp...@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 <jra...@ceridwen.us> wrote: >>> >>> >>> >>>> On Feb 14, 2022, at 10:03 AM, Spock <sp...@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 >>> >>> >> >
_______________________________________________ gtk-osx-devel-list mailing list gtk-osx-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list