GNOME Bugzilla – Bug 700371
current jhbuild pulled by gtk-osx-build-setup.sh doesn't build
Last modified: 2014-01-24 15:53:17 UTC
Checking out jhbuild (3.4.0) from git... Cloning into 'jhbuild'... remote: Counting objects: 36514, done. remote: Compressing objects: 100% (14206/14206), done. remote: Total 36514 (delta 28219), reused 28613 (delta 22178) Receiving objects: 100% (36514/36514), 7.19 MiB | 980 KiB/s, done. Resolving deltas: 100% (28219/28219), done. Switched to a new branch 'stable' Installing jhbuild... make: *** [include-check] Error 1 Jhbuild installation failed It looks like Makefile.plain wants Makefile.inc, which the older version (2.32.4) didn't. Sneakily copying 2.32.4's Makefile.plain and using that appears to make the build work, but 3.4.0 now seems to have a hard dependency on pkg-config (which I would need jhbuild to install...)
~/Source/jhbuild is a git repo, so you can git checkout different versions, including going back to 2.32.4... but also forward to master. I don't have time to work on this today; can you see if there's a way to get master to build in a way that doesn't force the pkg-config dependency?
yep, I just forced it back to the last working version (2.32.4)
If I make the script run autogen.sh, it fails later with "msgfmt: no such file or directory", which is bug 686886, so putting that as blocking. Meanwhile, reset jhbuild version to 2.32.4.
I think I've fixed the build issue with jhbuild, and I've reset the version to 3.4.0. Please try it. You'll need to re-retrieve gtk-osx-build-setup.sh
Doesn't work as-is in a clean environment as you've commented out the code which fetches the version: #rm -f tmp-jhbuild-revision #curl -ks $BASEURL/jhbuild-revision -o tmp-jhbuild-revision || \ # do_exit "Unable to retrieve stable jhbuild revision" JHBUILD_REVISION=`cat tmp-jhbuild-revision 2>/dev/null` Obviously creating the tmp-jhbuild-revision file myself fixes this. (I may or may not have mentioned, I'm using a script which completely scrubs the environment before building, so I don't wind up with residual bugs for things that are environment-related)
3.4.0 still looks like it has the same problem: Bootstrapping jhbuild Traceback (most recent call last):
+ Trace 231964
jhbuild.main.main(sys.argv[1:])
rc = jhbuild.commands.run(command, config, args, help=lambda: print_help(parser))
return cmd.execute(config, args, help)
return self.run(config, options, args, help)
module_list = module_set.get_module_list(modules)
system_module_state = self.get_system_modules(all_modules)
installed_pkgconfig = systeminstall.get_installed_pkgconfigs(self.config)
proc = subprocess.Popen(['pkg-config', '--list-all'], stdout=subprocess.PIPE, env=config.get_original_environment(), close_fds=True)
errread, errwrite)
raise child_exception
Also, 2.32.4 now appears to have stopped working: Checking out jhbuild (2.32.4) from git... Cloning into 'jhbuild'... remote: Counting objects: 36553, done. remote: Compressing objects: 100% (14245/14245), done. remote: Total 36553 (delta 28253), reused 28612 (delta 22178) Receiving objects: 100% (36553/36553), 7.19 MiB | 1.03 MiB/s, done. Resolving deltas: 100% (28253/28253), done. Switched to a new branch 'stable' Installing jhbuild... If you want to build documentation, you need to install gnome-common If you don't, try: make -f Makefile.plain install Jhbuild installation failed
(In reply to comment #5) > Doesn't work as-is in a clean environment as you've commented out the code > which fetches the version: Oh, shoot. Fixed. > Also, 2.32.4 now appears to have stopped working: That's because there's no autogen.sh in 2.32.4. I didn't make it conditional. > 3.4.0 still looks like it has the same problem: I don't see how that's the same problem, but I also don't see how you're getting there. You might be getting an autotools build. Does which gnome-autogen.sh produce a result?
Re: 3.4.0, I meant it has the same problem with having a pkg-config dependency. I've re-run the clean build with the fixed gtk-osx-build-setup.sh script, and I'm still having it barf on a lack of pkg-config.
And, no gnome-autogen.sh.
> I'm still having it barf on a lack of pkg-config. > And, no gnome-autogen.sh. That's weird. Can you put some debugging 'echo's into autogen.sh and figure out why it's attempting an autotools install when gnome-autogen.sh isn't present? Your output *should* look like: Checking out jhbuild (3.4.0) from git... rm: modulesets/bootstrap.modules: No such file or directory From git://git.gnome.org/jhbuild * tag 3.4.0 -> FETCH_HEAD Installing jhbuild... yelp-tools not available Configuring jhbuild without autotools Now type `make' to compile jhbuild Installing jhbuild configuration... Installing gtk-osx moduleset files... Done.
Running autogen.sh with sh -x. Note I'm not getting the 'rm: module sets/...' error, which suggests a difference in our environments. You'll notice this works - it's when I jhbuild bootstrap that the pkg-config error occurs. Checking out jhbuild (3.4.0) from git... Cloning into 'jhbuild'... Switched to a new branch 'stable' Installing jhbuild... + PKG_NAME=jhbuild ++ dirname ./autogen.sh + srcdir=. + test -z . + test -z '' + MAKE=make ++ echo make ++ cut '-d ' -f1 + make_from_environment=make + hash make + '[' 0 -ne 0 ']' + setup_i18n + hash msgfmt + msgfmtl_available=0 + '[' 0 -eq 0 ']' + make -s -C ./po -f Makefile.plain + hash gettext.sh + gettext_sh_available=0 + '[' 0 -eq 0 ']' + export TEXTDOMAINDIR=./mo + TEXTDOMAINDIR=./mo + export TEXTDOMAIN=jhbuild + TEXTDOMAIN=jhbuild + . gettext.sh ++ test 'X ' = 'X\t' ++ test 'X\t' = 'X\t' ++ echo='printf %s\n' ++ test -z '' ++ case "$0" in + hash gettext + gettext_available=0 + '[' 0 -ne 0 ']' + '[' '!' -f ./jhbuild/main.py ']' + hash gnome-autogen.sh + gnome_autogen_available=1 + hash yelp-build + yelp_tools_available=1 + parse_commandline + enable_autotools=1 + '[' -n '' ']' + '[' 1 -eq 0 -a 1 -eq 0 -a 1 -eq 1 ']' + '[' 1 -ne 0 ']' + gettext 'gnome-autogen.sh not available' gnome-autogen.sh not available+ echo + '[' 1 -ne 0 ']' + gettext 'yelp-tools not available' yelp-tools not available+ echo + configure_without_autotools + eval_gettext 'Configuring $PKG_NAME without autotools' + gettext 'Configuring $PKG_NAME without autotools' ++ envsubst --variables 'Configuring $PKG_NAME without autotools' + export PATH PKG_NAME + envsubst 'Configuring $PKG_NAME without autotools' Configuring jhbuild without autotools+ echo + '[' -z ']' + prefix=/Users/gramps/.local + '[' -z ']' + bindir=/Users/gramps/.local/bin + '[' -z ']' + datarootdir=/Users/gramps/.local/share + '[' -z ']' + desktopdir=/Users/gramps/.local/share/applications + '[' -f ./Makefile.inc ']' + '[' '!' -w . ']' + echo '# This file is automatically generated by JHBuild'\''s autogen.sh' + echo '# Do NOT edit. This file will be overwritten when autogen.sh is next' run. + echo prefix=/Users/gramps/.local + echo bindir=/Users/gramps/.local/bin + echo datarootdir=/Users/gramps/.local/share + echo desktopdir=/Users/gramps/.local/share/applications + '[' '!' -f ./Makefile.plain ']' + cp ./Makefile.plain ./Makefile + eval_gettext 'Now type `make'\'' to compile $PKG_NAME' + gettext 'Now type `make'\'' to compile $PKG_NAME' ++ envsubst --variables 'Now type `make'\'' to compile $PKG_NAME' + export PATH PKG_NAME + envsubst 'Now type `make'\'' to compile $PKG_NAME' Now type `make' to compile jhbuild+ echo Installing jhbuild configuration... Installing gtk-osx moduleset files... Done.
> You'll notice this works - it's when I jhbuild bootstrap that the pkg-config error occurs. Oh. That's rather different from what you first reported. Interesting. I made a new user and started from there, and now I see it.
Sorry I wasn't clearer on that. Given that the original bug is fixed (jhbuild now builds) maybe it's worth closing this and opening a new one for 'jhbuild doesn't bootstrap' ?
(In reply to comment #14) > Sorry I wasn't clearer on that. Given that the original bug is fixed (jhbuild > now builds) maybe it's worth closing this and opening a new one for 'jhbuild > doesn't bootstrap' ? It works OK in master. Since Fred hasn't tagged a version in over a year, I've just set the current master short-sha in jhbuild-revision. That also takes care of another problem in 3.4.0 relating to autogen-sh="autoreconf". If that works for you (it works OK in my "naked" test user) then close this as fixed.
yup, that seems to work. marking resolved.