Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 292901 - dev-libs/dbus-glib-0.82 fails to build if already installed
Summary: dev-libs/dbus-glib-0.82 fails to build if already installed
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All IRIX
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-12 11:15 UTC by Stuart Shelton
Modified: 2011-12-15 18:21 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Shelton 2009-11-12 11:15:28 UTC
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.
Comment 1 Yixun Lan archtester gentoo-dev 2009-11-27 14:41:58 UTC
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.
> 

Comment 2 Fabian Groffen gentoo-dev 2009-11-28 09:52:32 UTC
@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.
Comment 3 Fabian Groffen gentoo-dev 2011-12-15 18:21:34 UTC
We are sorry to close this bug.  We lack the man-power and devotion to support mips-irix in the tree.