David C. Rankin wrote:
On 01/19/2014 05:48 AM, David C. Rankin wrote:
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
I attempted to explicitly tell cmake to look in /opt/trinity/lib with the following, but the failure remains:
cmake ${srcdir}/tdebase \ -DCMAKE_INSTALL_PREFIX=${TDEDIR} \ -DCMAKE_LIBRARY_PATH="${CMAKE_LIBRARY_PATH} -L/opt/trinity/lib/" \ <snip>
Any other suggestions?
You should re-run the link with enabled verbosity, to get an idea how the linker gets called. The path may not find its way into the linker command line.
The "-march=x86-64" suggests you build for a 64 bit system. Is the libdbus-tqt-1 also 64 bit?
jbe