kde-runtime build with kde-phonon on Harmattan

Alexander Neundorf neundorf at kde.org
Tue Oct 11 19:45:48 UTC 2011


On Monday 10 October 2011, Laszlo Papp wrote:
> Hi,
> 
> We have the qt phonon version installed on the Harmattan platform by
> default. You are not allowed to override platform package files on
> Harmattan. This is achieved by the Platform Security. Since kde phonon
> contains few files having the same name as the files coming from the
> platform there is a clash. I had to install kde-phonon into a separate
> prefix path, like /usr/phonon/{lib,include,etc} by using
> -DCMAKE_PREFIX_PATH=/usr/phonon.
> 
> I am now tryng to build kde runtime by using
> -DPHONON_LIBRARY=/usr/phonon/lib/libphonon.so
> -DPHONON_INCLUDE_DIR=/usr/phonon/include, also the
> -DCMAKE_PREFIX_PATH=/usr/phonon, but I am getting the following error
> message while building:
> 
> [ 45%] Building CXX object
> phonon/platform_kde/CMakeFiles/kde.dir/kde_automoc.o cd
> phonon/platform_kde && /scratchbox/compilers/bin/c++
> -DMAKE_KDE_LIB -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE
> -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT
> -DKDE_DEPRECATED_WARNINGS -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=46
> -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS
> -DDISABLE_NEPOMUK_LEGACY -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL
> -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS
> -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=46 -DQT_USE_FAST_CONCATENATION
> -DQT_USE_FAST_OPERATOR_PLUS -DHAS_LIBASOUND_DEVICE_NAME_HINT -g -O2
> -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align
> -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security
> -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common
> -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden
> -Werror=return-type -fvisibility-inlines-hidden -DNDEBUG -DQT_NO_DEBUG
> -fPIC -I. -I../../../phonon/platform_kde -I../../.. -I../.. -I..
> -I/usr/include/KDE -I/usr/phonon/include/KDE -I/usr/phonon/include
> -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns
> -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtWebKit
> -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest
> -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSql
> -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtScript
> -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork
> -I/usr/include/qt4/QtMultimedia -I/usr/include/qt4/QtHelp
> -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtDBus
> -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore
> -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default
> -I/usr/include/qt4    -D_GNU_SOURCE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64 -o CMakeFiles/kde.dir/kde_automoc.o -c
> kde_automoc.cpp
> In file included from moc_devicelisting.cpp:10,
>                  from kde_automoc.cpp:4:
> ../../../phonon/platform_kde/devicelisting.h:30: fatal error:
> Phonon/ObjectDescription: No such file or directory
> compilation terminated.
> make[5]: *** [phonon/platform_kde/CMakeFiles/kde.dir/kde_automoc.o] Error 1
> make[5]: Leaving directory
> `/scratchbox/users/lpapp/home/lpapp/kde-runtime/kde-runtime/obj-arm-linux-g
> nueabi' make[4]: *** [phonon/platform_kde/CMakeFiles/kde.dir/all] Error 2
> make[4]: Leaving directory
> `/scratchbox/users/lpapp/home/lpapp/kde-runtime/kde-runtime/obj-arm-linux-g
> nueabi' make[3]: *** [all] Error 2
> make[3]: Leaving directory
> `/scratchbox/users/lpapp/home/lpapp/kde-runtime/kde-runtime/obj-arm-linux-g
> nueabi' dh_auto_build: make -j1 returned exit code 2
> make[2]: *** [override_dh_auto_build] Error 2
> make[2]: Leaving directory
> `/scratchbox/users/lpapp/home/lpapp/kde-runtime/kde-runtime'
> make[1]: *** [pre_build_dh_auto_build] Error 2
> make[1]: Leaving directory
> `/scratchbox/users/lpapp/home/lpapp/kde-runtime/kde-runtime'
> make: *** [debian/dhmk_build] Error 2
> dpkg-buildpackage: error: debian/rules build gave error exit status 2
> 
> It seems /usr/phonon/include/phonon is not in the compiler line for
> some reason. Could one take a look at it, please ? The header file in
> question is there though:
> /usr/phonon/include/phonon/Phonon/ObjectDescription.
> 
> If I try to set like
> "-DPHONON_INCLUDE_DIR=/usr/phonon/include/phonon", I am getting the
> following cmake error message then:
> ---------------------------------------------------------------------------
> -- -- The following REQUIRED packages could NOT be located on your system.
> -- You must install these packages before continuing.
> ---------------------------------------------------------------------------
> -- * Phonon (4.4.57 or higher)  <git://anongit.kde.org/phonon.git> Phonon
> library
>      STRONGLY RECOMMENDED: Required for playing audio and video throughout
> KDE
> 
> ---------------------------------------------------------------------------
> --
> 
> CMake Error at
> /targets/maemo6-armv7/usr/share/kde4/apps/cmake/modules/MacroLogFeature.cm
> ake:152 (MESSAGE):
>   Exiting: Missing Requirements
> Call Stack (most recent call first):
>   CMakeLists.txt:149 (macro_display_feature_log)
> 
> 
> -- Configuring incomplete, errors occurred!
> dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr
> -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Debian
> -DCMAKE_USE_RELATIVE_PATHS=ON -DKDE_PLATFORM_PROFILE=Mobile
> -DCMAKE_PREFIX_PATH=/usr/phonon
> -DPHONON_LIBRARY=/usr/phonon/lib/libphonon.so
> -DPHONON_INCLUDE_DIR=/usr/phonon/include/phonon returned exit code 1
> make[2]: *** [override_dh_auto_configure] Error 9
> make[2]: Leaving directory
> `/scratchbox/users/lpapp/home/lpapp/kde-runtime/kde-runtime'
> make[1]: *** [pre_configure_dh_auto_configure] Error 2
> make[1]: Leaving directory
> `/scratchbox/users/lpapp/home/lpapp/kde-runtime/kde-runtime'
> make: *** [debian/dhmk_configure] Error 2
> dpkg-buildpackage: error: debian/rules build gave error exit status 2
> 
> Summary: How to build a project depending on the kde-phonon version,
> but that is in a distinct prefix path ?

Setting CMAKE_PREFIX_PATH must be enough in a fresh build dir.

Can you please post the output when you do this ?

By manually setting FOO_INCLUDE_DIR etc. you have to dig into the 
implementation details of the find-module, and take care that you set all 
necessary variables.

Alex



More information about the Kde-buildsystem mailing list