trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2014

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

From: "David C. Rankin" <drankinatty@...>
Date: Mon, 20 Jan 2014 17:17:26 -0600
Slavek, All

  After fixing the option that strips static-libs from the final package in
arch, I went to rebuild tdelibs. Doing so, I enabled the following:

  cmake ${srcdir}/tdelibs \
    -DCMAKE_INSTALL_PREFIX=${TDEDIR} \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DWITH_ARTS=ON \
    -DWITH_ALSA=ON \
    -DWITH_LIBART=ON \
    -DWITH_LIBIDN=ON \
    -DWITH_SSL=ON \
    -DWITH_CUPS=ON \
    -DWITH_LUA=OFF \
    -DWITH_TIFF=ON \
    -DWITH_JASPER=ON \
    -DWITH_OPENEXR=ON \
    -DWITH_UTEMPTER=ON \
    -DWITH_AVAHI=ON \
    -DWITH_PAM=ON \
    -DWITH_PCRE=ON \
    -DWITH_TDEHWLIB_DAEMONS=ON \
    -DWITH_UPOWER=ON \
    -DWITH_UDISKS2=ON \
    -DWITH_LZMA=ON \
    -DWITH_XRANDR=ON \
    -DWITH_XCOMPOSITE=ON \
    -DWITH_ASPELL=ON \
    -DWITH_HSPELL=ON

  The build failed with the now-familiar error:

/usr/bin/ld: cannot find -ldbus-1-tqt
collect2: error: ld returned 1 exit status
tdecore/CMakeFiles/tdecore-shared.dir/build.make:3063: recipe for target
'tdecore/libtdecore.so.14.0.0' failed
make[2]: *** [tdecore/libtdecore.so.14.0.0] Error 1
make[2]: Leaving directory '/build/tde-tdelibs/src/build'
CMakeFiles/Makefile2:1087: recipe for target
'tdecore/CMakeFiles/tdecore-shared.dir/all' failed

  However, note: This is now with '-ldbus-1-tqt' instead of '-ldbus-tqt-1'.
Basically, this is "same-song-second-verse". pkgconfig info is fine, but unless
the CMakeLists.txt files are patched to include either ${DBUS_TQT_LIBRARY_DIRS}
or somehow get ${TDEHW_CUSTOM_LIBRARY_DIRS} into the CMakeLists.txt, the build
fails. The current tdecore CMakeLists.txt includes only the following:

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${LIBIDN_LIBRARY_DIRS}
  ${GAMIN_LIBDIR}
  ${LIBART_LIBRARY_DIRS}
)

  This is insufficient if( WITH_TDEHWLIB_DAEMONS OR WITH_HAL OR WITH_DEVKITPOWER
OR WITH_UPOWER OR WITH_UDISKS OR WITH_UDISKS2 OR
    WITH_NETWORK_MANAGER_BACKEND OR WITH_CONSOLEKIT ) are chosen as options.
See: tdecore/tdehw/CMakeLists.txt

  There are probably other fixes needed, but my first thought was just to
include ${DBUS_TQT_LIBRARY_DIRS}:

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${LIBIDN_LIBRARY_DIRS}
  ${GAMIN_LIBDIR}
  ${LIBART_LIBRARY_DIRS}
  ${DBUS_TQT_LIBRARY_DIRS}
)

  But if ${TDEHW_CUSTOM_LIBRARY_DIRS} is visible in this scope, then :

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${LIBIDN_LIBRARY_DIRS}
  ${GAMIN_LIBDIR}
  ${LIBART_LIBRARY_DIRS}
  ${TDEHW_CUSTOM_LIBRARY_DIRS}
)

is probably better.

  You do NOT see this problem if you are including -L/opt/trinity/libs in
CXXFLAGS, but you should not have to put library search paths in CXXFLAGS to
avoid the FTBFS.




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