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 745223 - lib64 support
lib64 support
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
: 775086 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2015-02-26 15:10 UTC by Dominique Leuenberger
Modified: 2016-12-06 11:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
0001-environment-Unset-CONFIG_SITE.patch (920 bytes, patch)
2016-08-20 11:05 UTC, Hans Petter Jansson
committed Details | Review
0001-environment-Fix-KeyError-when-CONFIG_SITE-is-unset.patch (861 bytes, patch)
2016-11-25 14:49 UTC, Hans Petter Jansson
committed Details | Review

Description Dominique Leuenberger 2015-02-26 15:10:53 UTC
With commit https://git.gnome.org/browse/jhbuild/commit/?id=dbb7e2c5f8f52669e257db6be83e74c5006ff49e jhbuild introduced a distro specific workaround, without taking into account that other distros are out there.

openSUSE for example has a clear separation of lib/lib64 (as well) and the Fedora bug might not apply.

openSUSE's automake tools are configured for openSUSE's usecases, meaning libdir is set to /usr/lib64 by default, based on a site-config package (no strange patching of automake/autoconf).

so, with this commit in, a standard openSUSE user is not able to run jhbuild at all.

if jhbuild wants to avoid lib/lib64, it should pass --libdir to configure and get the jhbuild installs the way it expects them.
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2015-06-09 20:56:27 UTC
+1, this should be reverted or solved differently
Comment 2 Hans Petter Jansson 2016-08-19 14:24:14 UTC
I've run into this too, and re-debugged it with Dominique just now. We found that we have a site-config package that gets triggered by autoconf, which makes configure act correctly on openSUSE by default.

Our env has CONFIG_SITE=/usr/share/site/x86_64-unknown-linux-gnu

If we unset CONFIG_SITE, jhbuild is able to get its way and all is well. I think it would make sense for jhbuild to unset it. It would save a lot of head-scratching on the part of openSUSE users.
Comment 3 Hans Petter Jansson 2016-08-20 11:05:51 UTC
Created attachment 333732 [details] [review]
0001-environment-Unset-CONFIG_SITE.patch

Proposed patch.
Comment 4 Hans Petter Jansson 2016-08-20 11:10:53 UTC
Adding Allison to cc to get her opinion and hopefully a review.
Comment 5 Michael Catanzaro 2016-11-22 18:24:41 UTC
Review of attachment 333732 [details] [review]:

I don't think Allison's patch is a distro-specific hack. We don't support lib64 under the jhbuild prefix anymore, so if you have glib installed under lib64 in your jhbuild prefix, delete everything and start over is correct.

Now as far as I know, openSUSE is the only distro that uses environment variables to point to a particular config.site file within some elaborate directory setup containing a bunch of different template config.site files (/usr/share/site). A more standard way to deal with config.site is to just install it in /usr/share/config.site, and unsetting the environment variable does nothing to prevent autoconf from reading that. So instead of unsetting the environment variable, I think it would be better to set it to point to some jhbuild-controlled but empty config.site. That said, I'm not aware of any other distros having a problem like this and unsetting config.site is clearly sufficient for openSUSE, so I think this is acceptable as-is, just do consider my suggestion.
Comment 6 Hans Petter Jansson 2016-11-24 23:58:45 UTC
Thanks for the review. I've committed the patch as-is. I don't know what side effects pointing CONFIG_SITE to an empty file could have, and I'm not sure where said file should live or if we should just create one at runtime, so I think we can get back to that later. In the meantime, we have this fix.
Comment 7 Ting-Wei Lan 2016-11-25 13:00:37 UTC
It crashes when CONFIG_SITE is not set.

Traceback (most recent call last):
  • File "/home/lantw44/.local/bin/jhbuild", line 32 in <module>
    jhbuild.main.main(sys.argv[1:])
  • File "/home/lantw44/gnome/devinstall/lib/python2.7/site-packages/jhbuild/main.py", line 137 in main
    config = jhbuild.config.Config(options.configfile, options.conditions)
  • File "/home/lantw44/gnome/devinstall/lib/python2.7/site-packages/jhbuild/config.py", line 172 in __init__
    setup_env_defaults(self.system_libdirs)
  • File "/home/lantw44/gnome/devinstall/lib/python2.7/site-packages/jhbuild/environment.py", line 119 in setup_env_defaults
    del os.environ['CONFIG_SITE']
  • File "/usr/lib64/python2.7/os.py", line 498 in __delitem__
    del self.data[key]
KeyError: 'CONFIG_SITE'

Comment 8 Frederic Peters 2016-11-25 14:47:20 UTC
*** Bug 775086 has been marked as a duplicate of this bug. ***
Comment 9 Hans Petter Jansson 2016-11-25 14:49:11 UTC
Created attachment 340761 [details] [review]
0001-environment-Fix-KeyError-when-CONFIG_SITE-is-unset.patch

I committed this diff to fix the issue as a matter of urgency. Sorry for the breakage.