On Tuesday 21 of January 2014 00:17:26 David C. Rankin wrote:
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.
Frankly, surprised me that you're the problem encountered in tdebase instead of in tdelibs :) I have an idea how I wanted it solved - please, hold on, I will prepare a patch.
Slavek --