trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2014

tdebase FTBFS /usr/bin/ld: cannot find -ldbus-tqt-1

From: "David C. Rankin" <drankinatty@...>
Date: Sun, 19 Jan 2014 05:48:52 -0600
All,

Linking CXX shared library libtdeinit_kicker.so
/usr/bin/ld: cannot find -ldbus-tqt-1

  This looks like a pkgconfig issue. The dbus-tqt-1 library is installed at:

/opt/trinity/lib/libdbus-tqt-1.so
/opt/trinity/lib/libdbus-tqt-1.la  # libtool file also there

The package config file file for dbus-tqt is here:

/opt/trinity/lib/pkgconfig/dbus-tqt.pc

prefix=/opt/trinity
exec_prefix=${prefix}
libdir=${prefix}/lib
includedir=${prefix}/include

Name: dbus-tqt-1
Description: D-BUS TQt bindings
Version: R14.0.0
Requires: dbus-1
Libs: -L${libdir}  -ldbus-tqt-1 -ldbus-1
Cflags: -I${includedir} -I${includedir}/dbus-1.0

So something in cmake is not getting the correct information to where it needs
to go. The error message is this:

[ 55%] Building CXX object
kicker/kicker/CMakeFiles/tdeinit_kicker-shared.dir/dummy.cpp.o
Linking CXX shared library libtdeinit_kicker.so
/usr/bin/ld: cannot find -ldbus-tqt-1
collect2: error: ld returned 1 exit status
kicker/kicker/CMakeFiles/tdeinit_kicker-shared.dir/build.make:108: recipe for
target 'kicker/kicker/libtdeinit_kicker.so' failed
make[2]: *** [kicker/kicker/libtdeinit_kicker.so] Error 1
CMakeFiles/Makefile2:16442: recipe for target
'kicker/kicker/CMakeFiles/tdeinit_kicker-shared.dir/all' failed
make[1]: *** [kicker/kicker/CMakeFiles/tdeinit_kicker-shared.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

checking the /kicker/kicker/CMakeFiles/tdeinit_kicker-shared.dir/link.txt:

/usr/bin/c++  -fPIC -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector
--param=ssp-buffer-size=4   -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL
-DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include
tqt.h -I/opt/tqt3/include -I/usr/include/tqt -DQT_NO_ASCII_CAST
-DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION
-DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -g -Wl,--no-undefined -shared
-Wl,-soname,libtdeinit_kicker.so -o libtdeinit_kicker.so
CMakeFiles/tdeinit_kicker-shared.dir/dummy.cpp.o  -L/opt/tqt3/lib
-Wl,-whole-archive core/libkicker_core.a -Wl,-no-whole-archive
buttons/libkicker_buttons.a ui/libkicker_ui.a
../libkicker/libkickermain.so.1.0.0 /opt/trinity/lib/libtdeabc.so.1.2.0
/opt/trinity/lib/libtdeutils.so.1.2.0 ../../libkonq/libkonq.so.4.2.0
../../tdmlib/libdmctl.a -lXau interfaces/libkickoffsearch_interfaces.so.0.0.0
-ldbus-tqt-1 -ldbus-1 /opt/trinity/lib/libvcard.so.0.0.0
/opt/trinity/lib/libtderesources.so.1.2.0 /opt/trinity/lib/libtdeparts.so.2.1.0
/opt/trinity/lib/libtdeio.so.14.0.0 /opt/trinity/lib/libtdeui.so.14.0.0
-lfreetype -lfontconfig /opt/trinity/lib/libtdesu.so.14.0.0 -lutil
/opt/trinity/lib/libtdewalletclient.so.1.0.1
/opt/trinity/lib/libtdecore.so.14.0.0 /opt/trinity/lib/libDCOP.so.14.0.0
/opt/trinity/lib/libtdefx.so.14.0.0 -ltqt -ltqt-mt -lXrender -lX11 -lc -lz -lidn
-lXcomposite -lICE -lSM -lacl
-Wl,-rpath,/opt/tqt3/lib:/build/tde-tdebase/src/build/kicker/libkicker:/opt/trinity/lib:/build/tde-tdebase/src/build/libkonq:/build/tde-tdebase/src/build/kicker/kicker/interfaces:

Interestingly it has -L/opt/tqt3/lib but NOT -L/opt/trinity/lib. Down further it
lists: -ldbus-tqt-1 -ldbus-1, so if it could find -ldbus-tqt-1 the problem
should be solved.

What can I add to CMakeLists.txt to force it to include -L/opt/trinity/lib as
the lib dir? /etc/ld.so.conf.d/trinity.conf already contains:

/opt/trinity/lib
/opt/trinity/lib/trinity

So from what I'm seeing, it should automatically include it.


-- 
David C. Rankin, J.D.,P.E.