trinity-users@lists.pearsoncomputing.net

Message: previous - next
Month: February 2011

[SOLVED] Re: [trinity-users] kdebase: Performing Test HAVE_DBUS_QT3_07 - Failed

From: "David C. Rankin" <drankinatty@...>
Date: Mon, 07 Feb 2011 19:21:32 -0600
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 :)


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