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 678957 - 1.33.3: Does not compile with as needed linking
1.33.3: Does not compile with as needed linking
Status: RESOLVED FIXED
Product: gjs
Classification: Bindings
Component: general
unspecified
Other All
: Normal blocker
: ---
Assigned To: gjs-maint
gjs-maint
Depends on:
Blocks:
 
 
Reported: 2012-06-27 09:39 UTC by Olav Vitters
Modified: 2012-06-28 22:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build log (15.63 KB, text/plain)
2012-06-27 09:39 UTC, Olav Vitters
  Details
build: Link everything to gio (1.64 KB, patch)
2012-06-27 16:49 UTC, Colin Walters
committed Details | Review

Description Olav Vitters 2012-06-27 09:39:33 UTC
Created attachment 217364 [details]
build log

Can provide verbose build log as well if needed

This on Mageia. We do the as needed linking bit.

  CXXLD  libgjs.la
/usr/share/gobject-introspection-1.0/tests/gimarshallingtests.c: In function '_callback':
/usr/share/gobject-introspection-1.0/tests/gimarshallingtests.c:3858:5: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
.libs/libgjs_la-gjs-gdbus-wrapper.o: In function `idle_cb':
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:268: undefined reference to `g_dbus_interface_skeleton_get_type'
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:270: undefined reference to `g_dbus_interface_skeleton_flush'
.libs/libgjs_la-gjs-gdbus-wrapper.o: In function `gjs_dbus_implementation_class_init':
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:209: undefined reference to `g_dbus_interface_skeleton_get_type'
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:221: undefined reference to `g_dbus_interface_info_get_type'
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:228: undefined reference to `g_dbus_method_invocation_get_type'
.libs/libgjs_la-gjs-gdbus-wrapper.o: In function `gjs_dbus_implementation_get_type':
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:33: undefined reference to `g_dbus_interface_skeleton_get_type'
.libs/libgjs_la-gjs-gdbus-wrapper.o: In function `gjs_dbus_implementation_flush':
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:188: undefined reference to `g_dbus_interface_skeleton_get_object_path'
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:188: undefined reference to `g_dbus_interface_skeleton_get_connection'
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:188: undefined reference to `g_dbus_connection_emit_signal'
.libs/libgjs_la-gjs-gdbus-wrapper.o: In function `gjs_dbus_implementation_finalize':
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:106: undefined reference to `g_dbus_interface_info_unref'
.libs/libgjs_la-gjs-gdbus-wrapper.o: In function `gjs_dbus_implementation_emit_signal':
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:308: undefined reference to `g_dbus_interface_skeleton_get_type'
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:310: undefined reference to `g_dbus_interface_skeleton_get_object_path'
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:310: undefined reference to `g_dbus_interface_skeleton_get_connection'
/home/iurt/rpm/BUILD/gjs-1.33.3/gjs-dbus/gjs-gdbus-wrapper.c:310: undefined reference to `g_dbus_connection_emit_signal'
collect2: ld returned 1 exit status
make[1]: *** [libgjs.la] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/iurt/rpm/BUILD/gjs-1.33.3'
make: *** [all] Error 2
error: Bad exit status from /home/iurt/rpm/tmp/rpm-tmp.c7SYCU (%build)
Comment 2 Colin Walters 2012-06-27 16:49:19 UTC
Created attachment 217426 [details] [review]
build: Link everything to gio

Should fix a linker error building the test suite when using
-Wl,--no-undefined.  This is a fairly aggressive fix; we probably
don't need to link all of the modules to gio, but on the other hand,
there's really not a strong reason not to, and for people using
-Wl,--as-needed any unnecessary linkage due to this will be removed.
Comment 3 Colin Walters 2012-06-27 16:50:32 UTC
I struggled to reproduce this locally with jhbuild; I think the error here is due to a combination of -Wl,--no-undefined AND the random hacks Mageia appears to applying into the libtool version shipped in the tarball (which incidentally is from Fedora 16).

Anyways, please test.
Comment 4 Colin Walters 2012-06-28 22:08:43 UTC
Review of attachment 217426 [details] [review]:

<bkor> adding your patch made it build

It builds, ship it!
Comment 5 Colin Walters 2012-06-28 22:09:10 UTC
Attachment 217426 [details] pushed as a6ebdb5 - build: Link everything to gio