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 640303 - Build failure with introspection enabled
Build failure with introspection enabled
Status: RESOLVED FIXED
Product: at-spi
Classification: Platform
Component: at-spi2-core
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Li Yuan
At-spi maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2011-01-23 02:51 UTC by Christopher Aillon
Modified: 2012-11-28 19:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build: Use gobject-introspection's Makefile instead of rolling our own (2.74 KB, patch)
2012-11-26 23:27 UTC, Rui Matos
committed Details | Review

Description Christopher Aillon 2011-01-23 02:51:23 UTC
Using a minimal buildroot, I can build _without_ introspection.  But building _with_ introspection causes it to fail like this: http://koji.fedoraproject.org/koji/getfile?taskID=2736175&name=build.log 

However, I discovered that if I install the non-introspection build of at-spi2-core into the build root, then the introspection build is able to succeed.
Comment 1 Christopher Aillon 2011-01-23 02:53:59 UTC
Oh, and it's in the build log, but this is 1.91.5.
Comment 2 Edward Sheldrake 2011-09-29 08:13:39 UTC
The only reason that the Fedora package of at-spi2-core needs to BuildRequire itself is because the DIE_RPATH_DIE sed breaks libtool's ability to set any RPATHs, breaking the introspection build.

Pretty much any other method of preventing rpath works better, e.g. based on a patch in the gnutls rpm:

sed -i -e 's+sys_lib_dlsearch_path_spec="/lib /usr/lib+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64+' configure
Comment 3 Peter Robinson 2012-01-10 16:06:15 UTC
That fix worked in Fedora
Comment 4 André Klapper 2012-02-26 10:43:10 UTC
[Resetting QA Contact to newly introduced "at-spi-maint@gnome.bugs". 
Reason: So far it was impossible to watch changes in at-spi bug reports without following all the specific persons (Li Yuan, Bill Haneman, Jeff Wai, ...) and also their activity outside of at-spi reports.

IMPORTANT: Anyone interested in following all bug activity (including all maintainers) must watch the "at-spi-maint@gnome.bugs" dummy user by adding it to the 'Users to watch' list under Preferences->Email preferences. This is also the default procedure nowadays in GNOME when setting up new products.]
Comment 5 Rui Matos 2012-11-26 23:27:46 UTC
Created attachment 229956 [details] [review]
build: Use gobject-introspection's Makefile instead of rolling our own

Invoking the GI compiler through libtool would cause us to embed an
RPATH in our binaries.
--

(In reply to comment #2)
> sed -i -e 's+sys_lib_dlsearch_path_spec="/lib
> /usr/lib+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64+'
> configure

With this patch this isn't needed anymore.
Comment 6 Mike Gorse 2012-11-27 13:23:33 UTC
Comment on attachment 229956 [details] [review]
build: Use gobject-introspection's Makefile instead of rolling our own

That looks fine. Thanks for the patch.
Committed as 706692.
Comment 7 Edward Sheldrake 2012-11-27 19:12:14 UTC
(In reply to comment #5)
> Created an attachment (id=229956) [details] [review]
> build: Use gobject-introspection's Makefile instead of rolling our own
> 
> Invoking the GI compiler through libtool would cause us to embed an
> RPATH in our binaries.
> --
> 
The patch is probably fine and simplifies the Makefile.am, but of course Makefile.introspection will use libtool, so isn't related to this bug.

This bug was entirely due to a using a bad method of RPATH removal in the Fedora package.
Comment 8 Rui Matos 2012-11-28 13:00:43 UTC
(In reply to comment #7)
> The patch is probably fine and simplifies the Makefile.am, but of course
> Makefile.introspection will use libtool, so isn't related to this bug.

Yes, I think it does still use libtool somehow, I didn't dig that deep.

What I know for a fact is that it's now possible to build with introspection without RPATH getting set on any binary and without using any RPATH removal methods. As such, the patch does indeed fix this bug.
Comment 9 Edward Sheldrake 2012-11-28 18:37:49 UTC
If you run autoreconf on a Fedora system, you won't get any problems with RPATH because Fedora's libtool knows /usr/lib64 is a standard system library directory.
Comment 10 Rui Matos 2012-11-28 19:35:48 UTC
Ah, so that's why... Ok, thanks for telling.