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
--