During the build process, dbus-glib compiles a new libdbus-glib-1.so.3.0 - but then tries to execute binaries which rely on the new features of this library which have library paths hardcoded to ${EPREFIX}/usr/$(get_libdir) before installing the library in that location. This means that a fresh install of dbus-glib will succeed, whereas an upgrade will fail (unless the build library is copied over the installed library). It's s shame that the library minor version wasn't bumped when the API was changed... If dbus-glib is already installed, the build-process fails with: Making all in tools make[2]: Entering directory `/usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/tools' ../dbus/dbus-binding-tool --mode=glib-client --prefix=dbus_bus --output=dbus-glib-bindings.h dbus-bus-introspect.xml 17443313:/usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/.libs/dbus-binding-tool: rld: Fatal Error: attempted access to unresolvable symbol in /usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/.libs/dbus-binding-tool: dbus_g_signature_get_g_type make[2]: *** [dbus-glib-bindings.h] Error 1 make[2]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/tools' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82' make: *** [all] Error 2 ... also, on IRIX at least, the ebuild fails with USE="test" due to many unresolvable symbols... although this may be because dbus-glib assumes the latest version of glib (2.22.2?), whereas the last to build successfully on IRIX was 2.20.5.
also fail when try to do a cross compile explicitly execute binaries is not allowed libtool: link: armv7a-softfloat-linux-gnueabi-ranlib .libs/libdbus-gtool.a libtool: link: ( cd ".libs" && rm -f "libdbus-gtool.la" && ln -s "../libdbus-gtool.la" "libdbus-gtool.la" ) armv7a-softfloat-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I/usr/armv7a-softfloat-linux-gnueabi/usr/include/dbus-1.0 -I/usr/armv7a-softfloat-linux-gnueabi/usr/lib/dbus-1.0/include -I/usr/armv7a-softfloat-linux-gnueabi/usr/include/glib-2.0 -I/usr/armv7a-softfloat-linux-gnueabi/usr/lib/glib-2.0/include -DDBUS_COMPILATION=1 -DDBUS_LOCALEDIR=\"/usr/share/locale\" -O2 -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fomit-frame-pointer -I/usr/armv7a-softfloat-linux-gnueabi/usr/include/ -I/usr/armv7a-softfloat-linux-gnueabi/include/ -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -fno-strict-aliasing -MT dbus-binding-tool-glib.o -MD -MP -MF .deps/dbus-binding-tool-glib.Tpo -c -o dbus-binding-tool-glib.o dbus-binding-tool-glib.c mv -f .deps/dbus-binding-tool-glib.Tpo .deps/dbus-binding-tool-glib.Po armv7a-softfloat-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I/usr/armv7a-softfloat-linux-gnueabi/usr/include/dbus-1.0 -I/usr/armv7a-softfloat-linux-gnueabi/usr/lib/dbus-1.0/include -I/usr/armv7a-softfloat-linux-gnueabi/usr/include/glib-2.0 -I/usr/armv7a-softfloat-linux-gnueabi/usr/lib/glib-2.0/include -DDBUS_COMPILATION=1 -DDBUS_LOCALEDIR=\"/usr/share/locale\" -O2 -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fomit-frame-pointer -I/usr/armv7a-softfloat-linux-gnueabi/usr/include/ -I/usr/armv7a-softfloat-linux-gnueabi/include/ -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -fno-strict-aliasing -MT dbus-glib-tool.o -MD -MP -MF .deps/dbus-glib-tool.Tpo -c -o dbus-glib-tool.o dbus-glib-tool.c mv -f .deps/dbus-glib-tool.Tpo .deps/dbus-glib-tool.Po /bin/sh ../libtool --tag=CC --mode=link armv7a-softfloat-linux-gnueabi-gcc -O2 -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fomit-frame-pointer -I/usr/armv7a-softfloat-linux-gnueabi/usr/include/ -I/usr/armv7a-softfloat-linux-gnueabi/include/ -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -fno-strict-aliasing -L/usr/armv7a-softfloat-linux-gnueabi/lib -L/usr/armv7a-softfloat-linux-gnueabi/usr/lib -Wl,-O1 -o dbus-binding-tool dbus-binding-tool-glib.o dbus-glib-tool.o ./libdbus-gtool.la ./libdbus-glib-1.la -L/usr/armv7a-softfloat-linux-gnueabi/usr/lib -ldbus-1 -lpthread -lrt -L/usr/armv7a-softfloat-linux-gnueabi/usr/lib -lgobject-2.0 -lglib-2.0 -lexpat libtool: link: armv7a-softfloat-linux-gnueabi-gcc -O2 -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fomit-frame-pointer -I/usr/armv7a-softfloat-linux-gnueabi/usr/include/ -I/usr/armv7a-softfloat-linux-gnueabi/include/ -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -fno-strict-aliasing -Wl,-O1 -o .libs/dbus-binding-tool dbus-binding-tool-glib.o dbus-glib-tool.o -L/usr/armv7a-softfloat-linux-gnueabi/lib -L/usr/armv7a-softfloat-linux-gnueabi/usr/lib ./.libs/libdbus-gtool.a ./.libs/libdbus-glib-1.so /usr/armv7a-softfloat-linux-gnueabi/usr/lib/libdbus-1.so -lpthread -lrt /usr/armv7a-softfloat-linux-gnueabi/usr/lib/libgobject-2.0.so /usr/armv7a-softfloat-linux-gnueabi/usr/lib/libglib-2.0.so /usr/armv7a-softfloat-linux-gnueabi/usr/lib/libexpat.so -Wl,-rpath -Wl,/usr/armv7a-softfloat-linux-gnueabi/usr/lib make[4]: Leaving directory `/var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus' Making all in examples make[4]: Entering directory `/var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/examples' /bin/sh ../../libtool --mode=execute ../../dbus/dbus-binding-tool --prefix=some_object --mode=glib-server --output=example-service-glue.h ./example-service.xml /var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/examples/../../dbus/dbus-binding-tool: line 118: /var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/.libs/dbus-binding-tool: cannot execute binary file /var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/examples/../../dbus/dbus-binding-tool: line 118: /var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/.libs/dbus-binding-tool: Success make[4]: *** [example-service-glue.h] Error 1 make[4]: Leaving directory `/var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/examples' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/build/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus' make[1]: *** [all-recursive] Error 1 (In reply to comment #0) > During the build process, dbus-glib compiles a new libdbus-glib-1.so.3.0 - but > then tries to execute binaries which rely on the new features of this library > which have library paths hardcoded to ${EPREFIX}/usr/$(get_libdir) before > installing the library in that location. > > This means that a fresh install of dbus-glib will succeed, whereas an upgrade > will fail (unless the build library is copied over the installed library). > It's s shame that the library minor version wasn't bumped when the API was > changed... > > If dbus-glib is already installed, the build-process fails with: > > Making all in tools > make[2]: Entering directory > `/usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/tools' > ../dbus/dbus-binding-tool --mode=glib-client --prefix=dbus_bus > --output=dbus-glib-bindings.h dbus-bus-introspect.xml > 17443313:/usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/.libs/dbus-binding-tool: > rld: Fatal Error: attempted access to unresolvable symbol in > /usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/dbus/.libs/dbus-binding-tool: > dbus_g_signature_get_g_type > make[2]: *** [dbus-glib-bindings.h] Error 1 > make[2]: Leaving directory > `/usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82/tools' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory > `/usr/opt/gentoo/var/tmp/portage/dev-libs/dbus-glib-0.82/work/dbus-glib-0.82' > make: *** [all] Error 2 > > ... also, on IRIX at least, the ebuild fails with USE="test" due to many > unresolvable symbols... although this may be because dbus-glib assumes the > latest version of glib (2.22.2?), whereas the last to build successfully on > IRIX was 2.20.5. >
@Dennis: What you report is a totally different bug. If you don't want it to get lost, please report a new bug with your cross-compilation problem. This bug is about a non-cross IRIX specific build problem.
We are sorry to close this bug. We lack the man-power and devotion to support mips-irix in the tree.