[MacPorts] #26711: glib2 @2.26.0 links against dbus without declaring dependency
#26711: glib2 @2.26.0 links against dbus without declaring dependency ---------------------------------+------------------------------------------ Reporter: raimue@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: glib2 ---------------------------------+------------------------------------------ While upgrading to glib2 @2.26.0+universal, I see the following error: {{{ ld: warning: in /opt/local/lib/libdbus-1.dylib, file was built for unsupported file format which is not the architecture being linked (i386) Undefined symbols for architecture i386: "_dbus_error_free", referenced from: _check_serialization in gdbus_serialization-gdbus-serialization.o [...] }}} My installed dbus port is not +universal, but it is also not in the recursive dependency list of glib2: {{{ $ port installed glib2 dbus The following ports are currently installed: dbus @1.2.24_1 (active) glib2 @2.24.2_0+universal (active) $ port rdeps glib2 |grep -i dbus $ }}} Either there is a missing dependency on dbus as of 2.26.0, or maybe glib2 only enables this conditionally if specific headers are found? -- Ticket URL: <https://trac.macports.org/ticket/26711> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26711: glib2 @2.26.0 links against dbus without declaring dependency ---------------------------------+------------------------------------------ Reporter: raimue@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: glib2 ---------------------------------+------------------------------------------ Changes (by devans@…): * cc: devans@… (added) Comment: I ran into this last night as well. In configure glib2 enables building of GBus tests if dbus is detected or disables them if not. So configure succeeds either way. But there is no off switch for this. So if dbus is installed but not universal and you attempt to build glib2 universal there is an arch mismatch for libdbus-1.dylib. Adding a dependency on dbus forces dbus to be built universal and fixes the problem (for me at least). Patch attached. -- Ticket URL: <https://trac.macports.org/ticket/26711#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26711: glib2 @2.26.0 links against dbus without declaring dependency ---------------------------------+------------------------------------------ Reporter: raimue@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: glib2 ---------------------------------+------------------------------------------ Comment(by ruud@…): The patch fixes it for me. -- Ticket URL: <https://trac.macports.org/ticket/26711#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26711: glib2 @2.26.0 links against dbus without declaring dependency ---------------------------------+------------------------------------------ Reporter: raimue@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: glib2 ---------------------------------+------------------------------------------ Comment(by ryandesign@…): Isn't it just a build dependency? I don't see anything in glib2 linking with the dbus dynamic library. -- Ticket URL: <https://trac.macports.org/ticket/26711#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26711: glib2 @2.26.0 links against dbus without declaring dependency ---------------------------------+------------------------------------------ Reporter: raimue@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: glib2 ---------------------------------+------------------------------------------ Comment(by devans@…): Perhaps, it's used here: libtool: link: /usr/bin/gcc-4.2 -I/opt/quartz/include/dbus-1.0 -I/opt/quartz/lib/dbus-1.0/include -pipe -O2 -fstrict-aliasing -arch x86_64 -Wall -bind_at_load -arch x86_64 -o .libs/gdbus-serialization gdbus_serialization-gdbus-serialization.o gdbus_serialization-gdbus- tests.o -L/opt/quartz/lib ../../glib/.libs/libglib-2.0.dylib ../../gthread/.libs/libgthread-2.0.dylib ../../gobject/.libs/libgobject-2.0.dylib ../../gio/.libs/libgio-2.0.dylib /opt/quartz/var/macports/build/_Volumes_wdc- 320_opt_macports_trunk_dports_devel_glib2/work/glib-2.26.0/gobject/.libs/libgobject-2.0.dylib /opt/quartz/var/macports/build/_Volumes_wdc- 320_opt_macports_trunk_dports_devel_glib2/work/glib-2.26.0/gthread/.libs/libgthread-2.0.dylib /opt/quartz/var/macports/build/_Volumes_wdc- 320_opt_macports_trunk_dports_devel_glib2/work/glib-2.26.0/gmodule/.libs/libgmodule-2.0.dylib /opt/quartz/var/macports/build/_Volumes_wdc- 320_opt_macports_trunk_dports_devel_glib2/work/glib-2.26.0/glib/.libs/libglib-2.0.dylib -lresolv -lz /opt/quartz/lib/libdbus-1.dylib -lpthread /opt/quartz/lib/libintl.dylib /opt/quartz/lib/libiconv.dylib -lc -framework Carbon But only for testing suite, looks like nothing that is actually installed references libdbus-1.dylib -- Ticket URL: <https://trac.macports.org/ticket/26711#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26711: glib2 @2.26.0 links against dbus without declaring dependency ----------------------------------+----------------------------------------- Reporter: raimue@… | Owner: ryandesign@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Resolution: fixed | Keywords: Port: glib2 | ----------------------------------+----------------------------------------- Changes (by ryandesign@…): * status: new => closed * resolution: => fixed Comment: Running "otool -L" on everything installed by glib2, I don't see anything linking with libdbus-1.dylib. If it's used in the test suite, presumably the test suite is not something that gets installed. So I'll make it a build dependency for now. r72107. -- Ticket URL: <https://trac.macports.org/ticket/26711#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts