After installing kdelibs, do I need to set anything in the environment to have kde-config find it's required libraries before building kdebase?
You must set LD_LIBRARY_PATH to /opt/trinity/lib
Thanks Serghei.
I added /opt/qt/lib to /etc/ld.so.conf and the kdebase build find it just fine :)
I have run into another problem with dbus-qt3. I have built and installed the dbus-qt3 package from dbus-qt3_0.62.git.20060814.orig.tar.gz, but the kdebase make still fails:
<snip> -- Looking for XkbSetPerClientControls in X11 - found -- checking for 'Qt' -- Performing Test HAVE_PATCHED_QT3 -- Performing Test HAVE_PATCHED_QT3 - Success -- found patched Qt, version 3.3.8 -- checking for one of the modules 'TQt' -- checking for 'TDE' -- found 'TDE', version 3.5.13 -- checking for one of the modules 'dbus-1' -- Performing Test HAVE_DBUS_QT3_07 -- Performing Test HAVE_DBUS_QT3_07 - Failed CMake Error at cmake/modules/TDEMacros.cmake:20 (message): #################################################
dbus-qt3 (version 0.7) are required, but not found on your system
################################################# Call Stack (most recent call first): ConfigureChecks.cmake:150 (tde_message_fatal) CMakeLists.txt:114 (include)
-- Configuring incomplete, errors occurred! Aborting...
What is the HAVE_DBUS_QT3_07 (version 0.7) requirement? Is it a patch I need to apply?
My dbus-qt3 install includes:
11:13 trinity:~/tbld/dbus-qt3> pmql dbus-qt3 dbus-qt3 /opt/qt/include/dbus-1.0/dbus/ dbus-qt3 /opt/qt/include/dbus-1.0/dbus/connection.h dbus-qt3 /opt/qt/include/dbus-1.0/dbus/dbus-qt.h dbus-qt3 /opt/qt/include/dbus-1.0/dbus/message.h dbus-qt3 /opt/qt/include/dbus-1.0/dbus/server.h dbus-qt3 /opt/qt/lib/libdbus-qt-1.a dbus-qt3 /opt/qt/lib/libdbus-qt-1.so dbus-qt3 /opt/qt/lib/libdbus-qt-1.so.1 dbus-qt3 /opt/qt/lib/libdbus-qt-1.so.1.0.0
My build environment is:
[[ ${PATH%%:*} =~ /opt/trinity/bin ]] || export PATH=/opt/trinity/bin:$PATH export CMAKE_PREFIX_PATH=/opt/qt export CMAKE_INCLUDE_PATH=/opt/qt/include:/opt/qt/include/tqt export LD_LIBRARY_PATH=/opt/trinity/lib:$LD_LIBRARY_PATH
trinity_prefix="/opt/trinity"
cd ${srcdir} cmake ../ \ -DCMAKE_INSTALL_PREFIX=${trinity_prefix} \ -DWITH_QT3=ON \ -DQTDIR=/opt/qt \ -DBUILD_ALL=ON make VERBOSE=1
On Monday 07 February 2011 19:20:23 David C. Rankin wrote: [...]
-- Performing Test HAVE_DBUS_QT3_07 -- Performing Test HAVE_DBUS_QT3_07 - Failed
[...]
Show me output for command "pkg-config dbus-1-qt3 --cflags"
Also, attach CMakeError.log
On 02/07/2011 11:32 AM, Serghei Amelian wrote:
On Monday 07 February 2011 19:20:23 David C. Rankin wrote: [...]
-- Performing Test HAVE_DBUS_QT3_07 -- Performing Test HAVE_DBUS_QT3_07 - Failed
[...]
Show me output for command "pkg-config dbus-1-qt3 --cflags"
Also, attach CMakeError.log
OK,
11:41 trinity:~/tbld/kdebase> pkg-config dbus-1-qt3 --cflags Package dbus-1-qt3 was not found in the pkg-config search path. Perhaps you should add the directory containing `dbus-1-qt3.pc' to the PKG_CONFIG_PATH environment variable No package 'dbus-1-qt3' found
Hmm. Trying:
export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/qt/lib/pkgconfig
Same error - still no package config data for dbus, how to fix? I checked the build directory for dbus-qt3 and no *.pc file was built. I built dbus-qt3 with:
export QTDIR=/opt/qt export QT_XFT=true export PATH=$PATH:$QTDIR/bin export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig
patch -Np1 -i "${srcdir}/dbus-qt3-compile-fix-thoenig-01.patch" || return 1 patch -Np1 -i "${srcdir}/dbus-qt3-do-not-close-shared-connection-thoenig-01.patch" || return 1
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return 1 sed -e "s|DBUS_QT3_LIBS =|DBUS_QT3_LIBS = -L${QTDIR}/lib -lqt-mt|" \ -i Makefile qt3/Makefile || return 1 make || return 1
(I have attached the patches as well)
Thank you again for all your help!
On 02/07/2011 12:03 PM, David C. Rankin wrote:
the dbus configure was not:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return
correction, it was --prefix=/opt/qt
(just for sake of completeness)
On 02/07/2011 11:20 AM, David C. Rankin wrote:
After installing kdelibs, do I need to set anything in the environment to have kde-config find it's required libraries before building kdebase?
You must set LD_LIBRARY_PATH to /opt/trinity/lib
Thanks Serghei.
I added /opt/qt/lib to /etc/ld.so.conf and the kdebase build find it just fine :)
I have run into another problem with dbus-qt3. I have built and installed the dbus-qt3 package from dbus-qt3_0.62.git.20060814.orig.tar.gz, but the kdebase make still fails:
<snip> -- Looking for XkbSetPerClientControls in X11 - found -- checking for 'Qt' -- Performing Test HAVE_PATCHED_QT3 -- Performing Test HAVE_PATCHED_QT3 - Success -- found patched Qt, version 3.3.8 -- checking for one of the modules 'TQt' -- checking for 'TDE' -- found 'TDE', version 3.5.13 -- checking for one of the modules 'dbus-1' -- Performing Test HAVE_DBUS_QT3_07 -- Performing Test HAVE_DBUS_QT3_07 - Failed CMake Error at cmake/modules/TDEMacros.cmake:20 (message): #################################################
dbus-qt3 (version 0.7) are required, but not found on your system
################################################# Call Stack (most recent call first): ConfigureChecks.cmake:150 (tde_message_fatal) CMakeLists.txt:114 (include)
-- Configuring incomplete, errors occurred! Aborting...
<snip>
I remade the dbus-qt3 package which changed the default install location to:
/usr/include/dbus-1.0/dbus/connection.h /usr/include/dbus-1.0/dbus/dbus-qt.h /usr/include/dbus-1.0/dbus/message.h /usr/include/dbus-1.0/dbus/server.h /usr/lib/libdbus-qt-1.a /usr/lib/libdbus-qt-1.so /usr/lib/libdbus-qt-1.so.1 /usr/lib/libdbus-qt-1.so.1.0.0
I've picked through the ConfigureChecks.cmake to look at what is actually failing.
check_cxx_source_compiles(" #include <dbus/connection.h> int main(int, char**) { return 0; } " HAVE_DBUS_QT3_07 )
From http://www.cmake.org/Wiki/CMake:How_To_Write_Platform_Checks I see:
Module INCLUDE (CheckCXXSourceCompiles) INCLUDE (CheckCSourceCompiles) Usage CHECK_CXX_SOURCE_COMPILES(source variable) CHECK_C_SOURCE_COMPILES(source variable)
Checks whether the code given in source will compile and link. You can set CMAKE_REQUIRED_LIBRARIES, CMAKE_REQUIRED_FLAGS and CMAKE_REQUIRED_INCLUDES accordingly if additional libraries or compiler flags are required.
OK - it looks like check_cxx_source_compiles is looking for the 'source':
" #include <dbus/connection.h> int main(int, char**) { return 0; } "
to then set the 'variable':
HAVE_DBUS_QT3_07
which isn't getting set and causing the cmake configure failure.
Looking at the #include <dbus/connection.h>, I added:
/usr/include/dbus-1.0 to CMAKE_INCLUDE_PATH
and kdebase now configures and is starting it's build. We will see how far we get this time :)