Upstart trunk build error. Libtool not picking correct dbus library.

Sandeep Puddupakkam (spuddupa) spuddupa at cisco.com
Mon Jul 14 22:16:04 BST 2008


Hi,

I am trying to compile upstart for ppc. 
I built (cross compiled) dbus (without x support) and the libraries are
in /nobackup/spuddupa/nova/linkfarm/ppc/lib
I ran configure on upstart using the following DBUS_CFLAGS and DBUS_LIBS
DBUS_CFLAGS="-I$(BINOS_TARGET_DEST_ABS_DIR)/usr/include/dbus-1.0
-I$(BINOS_TARGET_DEST_ABS_DIR)/usr/lib/dbus-1.0/include"
DBUS_LIBS="-L$(BINOS_TARGET_DEST_ABS_DIR)/usr/lib -ldbus-1"

Configure seems to run fine and it generated the makefiles
make fails with the following error.
/**************/
/bin/sh ../libtool --tag=CC   --mode=link
/nfs/nova/tools/0.1/i686-pc-linux/bin/binos_c3.4.2-p1.powerpc-unknown-li
nux-gcc -msoft-float -std=gnu99
-I/nobackup/spuddupa/nova/linkfarm/ppc/usr/include/dbus-1.0
-I/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/dbus-1.0/include -g -O2
-L/nobackup/spuddupa/nova/linkfarm/ppc/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/cpp/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/binos/lib -lexslt -lxslt
-lncurses -lxml2 -ldl -lm -lrt -lpthread -lc -o init main.o system.o
environ.o process.o job_class.o job_process.o job.o event.o
event_operator.o blocked.o parse_job.o parse_conf.o conf.o control.o
com.ubuntu.Upstart.o com.ubuntu.Upstart.Job.o
com.ubuntu.Upstart.Instance.o ../nih/libnih.la ../nih/libnih-dbus.la
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib -ldbus-1 
mkdir .libs
/nfs/nova/tools/0.1/i686-pc-linux/bin/binos_c3.4.2-p1.powerpc-unknown-li
nux-gcc -msoft-float -std=gnu99
-I/nobackup/spuddupa/nova/linkfarm/ppc/usr/include/dbus-1.0
-I/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/dbus-1.0/include -g -O2
-o init main.o system.o environ.o process.o job_class.o job_process.o
job.o event.o event_operator.o blocked.o parse_job.o parse_conf.o conf.o
control.o com.ubuntu.Upstart.o com.ubuntu.Upstart.Job.o
com.ubuntu.Upstart.Instance.o
-L/nobackup/spuddupa/nova/linkfarm/ppc/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/cpp/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/binos/lib
../nih/.libs/libnih.a ../nih/.libs/libnih-dbus.a /usr/lib/libdbus-1.so
/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libexslt.so
/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libxslt.so -lncurses
/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libxml2.so -ldl -lm -lrt
-lpthread -lc   -Wl,--rpath
-Wl,/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib -Wl,--rpath
-Wl,/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
/usr/lib/libdbus-1.so: could not read symbols: Invalid operation
/************************/
The issue is that libtool is picking up /usr/lib/libdbus-1.so instead of

/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libdbus-1.so

To debug the issue, I ran the libtool cmd with the debug option and it
generated the log file. Looks like the libtool is looking for X support
in the libdbus-1 and is trying to use /usr/lib/libdbus-1 instead.
I tried attaching the libtool log file but it was big and my post did
not go thru (log file >400k). Here is a snippet of the check.
/***********************/
++ echo X/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libdbus-1.la
++ /nfs/nova/tools/0.1/i686-pc-linux/bin/sed -e '1s/^X//' -e
's%/[^/]*$%%'
+ ladir=/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
+ test X/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib =
X/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libdbus-1.la
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+ case $lib in
+ . /nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libdbus-1.la
++ dlname=libdbus-1.so.3
++ library_names='libdbus-1.so.3.4.0 libdbus-1.so.3 libdbus-1.so'
++ old_library=libdbus-1.a
++ dependency_libs=' -L/nobackup/spuddupa/nova/linkfarm/ppc/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/cpp/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/binos/lib
/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libexslt.la
/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libxslt.la -lncurses
/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libxml2.la -ldl -lm -lrt
-lpthread -lc'
++ current=7
++ age=4
++ revision=0
++ installed=yes
++ shouldnotlink=no
++ dlopen=
++ dlpreopen=
++ libdir=/usr/lib
+ test prog,link = lib,link
+ test prog,link = prog,scan
+ test prog '!=' prog
+ test link = conv
+ linklib=
+ for l in '$old_library' '$library_names'
+ linklib=libdbus-1.a
+ for l in '$old_library' '$library_names'
+ linklib=libdbus-1.so.3.4.0
+ for l in '$old_library' '$library_names'
+ linklib=libdbus-1.so.3
+ for l in '$old_library' '$library_names'
+ linklib=libdbus-1.so
+ test -z libdbus-1.so
+ test link = dlopen
+ case $ladir in
+ abs_ladir=/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
++ echo X/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib/libdbus-1.la
++ /nfs/nova/tools/0.1/i686-pc-linux/bin/sed -e '1s/^X//' -e 's%^.*/%%'
+ laname=libdbus-1.la
+ test Xyes = Xyes
+ test '!' -f /usr/lib/libdbus-1.so
+ dir=/usr/lib
+ absdir=/usr/lib
+ test Xno = Xyes
++ echo Xlibdbus-1.la
++ /nfs/nova/tools/0.1/i686-pc-linux/bin/sed -e '1s/^X//' -e 's/\.la$//'
-e 's/^lib//'
+ name=dbus-1
+ test link = dlpreopen
+ test -z /usr/lib
+ test prog = prog
+ test link '!=' link
+ test prog,link = prog,link
+ test -n 'libdbus-1.so.3.4.0 libdbus-1.so.3 libdbus-1.so'
+ test no = no
+ test -n LD_LIBRARY_PATH
+ test -z ''
+ case "$temp_rpath " in
+ temp_rpath=' /usr/lib'
+ case " $sys_lib_dlsearch_path " in
+ case " $sys_lib_dlsearch_path " in
+ test no = yes
+ link_static=no
+ use_static_libs=no
+ test no = built
+ test -n 'libdbus-1.so.3.4.0 libdbus-1.so.3 libdbus-1.so'
+ test no = no
+ test yes = no
+ test no = yes
+ test prog = lib
+ test -n ''
+ test prog = prog
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ test no = no
+ add=/usr/lib/libdbus-1.so
+ case $host in
+ test yes '!=' yes
+ test -n ''
+ test prog = prog
+ test -n ''
+ test -n /usr/lib/libdbus-1.so
+ compile_deplibs='/usr/lib/libdbus-1.so ../nih/.libs/libnih-dbus.a
../nih/.libs/libnih.a
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/binos/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/cpp/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/lib '
+ test prog = prog
+ add_shlibpath=
+ add_dir=
+ add=
+ test no = yes
+ test no = yes
+ test unsupported = yes
+ test no = yes
+ add_dir=-L/usr/lib
+ test -n ''
+ add=-ldbus-1
+ test prog = prog
+ test -n -L/usr/lib
+ finalize_deplibs='-L/usr/lib ../nih/.libs/libnih-dbus.a
../nih/.libs/libnih.a
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/binos/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/cpp/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/usr/lib
-L/nobackup/spuddupa/nova/linkfarm/ppc/lib '
+ test -n -ldbus-1
/**************************************/


My question is if there is any dependency on X for upstart? 
Any suggestions to bypass this issue would be greatly appreciated.

Thanks,
Sandeep



More information about the upstart-devel mailing list