After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 700371 - current jhbuild pulled by gtk-osx-build-setup.sh doesn't build
current jhbuild pulled by gtk-osx-build-setup.sh doesn't build
Status: RESOLVED FIXED
Product: gtk-osx
Classification: Other
Component: General
unspecified
Other Mac OS
: Normal normal
: ---
Assigned To: GTK Mac Integration Maintainers
GTK Mac Integration Maintainers
Depends on: 686886
Blocks:
 
 
Reported: 2013-05-15 09:19 UTC by Ronan Waide
Modified: 2014-01-24 15:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Ronan Waide 2013-05-15 09:19:29 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...)
Comment 1 John Ralls 2013-05-15 13:56:55 UTC
~/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?
Comment 2 Ronan Waide 2013-05-15 13:59:40 UTC
yep, I just forced it back to the last working version (2.32.4)
Comment 3 John Ralls 2013-05-17 20:50:35 UTC
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.
Comment 4 John Ralls 2013-05-17 21:54:55 UTC
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
Comment 5 Ronan Waide 2013-05-18 14:02:44 UTC
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)
Comment 6 Ronan Waide 2013-05-18 14:42:25 UTC
3.4.0 still looks like it has the same problem:


Bootstrapping jhbuild
Traceback (most recent call last):
  • File "/Users/gramps/.local/bin/jhbuild", line 32 in <module>
    jhbuild.main.main(sys.argv[1:])
  • File "/Users/gramps/Source/jhbuild/jhbuild/main.py", line 147 in main
    rc = jhbuild.commands.run(command, config, args, help=lambda: print_help(parser))
  • File "/Users/gramps/Source/jhbuild/jhbuild/commands/__init__.py", line 129 in run
    return cmd.execute(config, args, help)
  • File "/Users/gramps/Source/jhbuild/jhbuild/commands/__init__.py", line 52 in execute
    return self.run(config, options, args, help)
  • File "/Users/gramps/Source/jhbuild/jhbuild/commands/bootstrap.py", line 64 in run
    module_list = module_set.get_module_list(modules)
  • File "/Users/gramps/Source/jhbuild/jhbuild/moduleset.py", line 145 in get_module_list
    system_module_state = self.get_system_modules(all_modules)
  • File "/Users/gramps/Source/jhbuild/jhbuild/moduleset.py", line 258 in get_system_modules
    installed_pkgconfig = systeminstall.get_installed_pkgconfigs(self.config)
  • File "/Users/gramps/Source/jhbuild/jhbuild/utils/systeminstall.py", line 31 in get_installed_pkgconfigs
    proc = subprocess.Popen(['pkg-config', '--list-all'], stdout=subprocess.PIPE, env=config.get_original_environment(), close_fds=True)
  • File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 679 in __init__
    errread, errwrite)
  • File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1228 in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Comment 7 Ronan Waide 2013-05-18 14:44:29 UTC
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
Comment 8 John Ralls 2013-05-18 15:28:11 UTC
(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?
Comment 9 Ronan Waide 2013-05-18 16:28:54 UTC
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.
Comment 10 Ronan Waide 2013-05-18 16:35:03 UTC
And, no gnome-autogen.sh.
Comment 11 John Ralls 2013-05-18 16:44:46 UTC
> 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.
Comment 12 Ronan Waide 2013-05-18 16:53:04 UTC
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.
Comment 13 John Ralls 2013-05-18 17:49:09 UTC
> 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.
Comment 14 Ronan Waide 2013-05-18 17:50:32 UTC
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' ?
Comment 15 John Ralls 2013-05-18 18:18:01 UTC
(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.
Comment 16 Ronan Waide 2013-05-18 21:40:58 UTC
yup, that seems to work. marking resolved.