This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Help with building kdelibs from trunk

Tags: None
(comma "," separated)
Tupla
Registered Member
Posts
47
Karma
0
OS
Hi, I started building kde from trunk, but I got stucked on an error while compiling kdelibs.
Code: Select all
-- Building kdelibs...
CMake Error at cmake/modules/FindPackageHandleStandardArgs.cmake:129 (MESSAGE):
  Could NOT find Phonon: Found version "4.3.1", but required is at least
  "4.3.80" (found /usr/include/qt4)
Call Stack (most recent call first):
  cmake/modules/FindPhonon.cmake:36 (find_package_handle_standard_args)
  cmake/modules/FindKDE4Internal.cmake:685 (find_package)
  CMakeLists.txt:39 (find_package)

I installed the latest qt in KDE_SRC/qt-kde, donwloaded phonon in KDE_SRC/phonon and then compiled it, so what's wrong?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
You likely need to set a few environment variables, so that your self-built Qt and Phonon are found.

In particular, you need to set the following:
CMAKE_PREFIX_PATH
PATH
LD_LIBRARY_PATH

CMAKE_PREFIX_PATH should be set to where you installed Qt and Phonon.
LD_LIBRARY_PATH to ${CMAKE_PREFIX_PATH}/lib
PATH to ${CMAKE_PREFIX_PATH}/bin:$PATH

You can use "export" to set the environment variables.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Tupla
Registered Member
Posts
47
Karma
0
OS
Thank you for the answer, I set the environment variables and solved by upgrading from beta PPA, but now during the compilation I reach this error, as you can see there is no explanation of what went wrong >:(
Code: Select all
[ 12%] Building CXX object kdecore/CMakeFiles/kdecore.dir/util/kshareddatacache.o
/home/kde-devel/kde/src/KDE/kdelibs/kdecore/util/kshareddatacache.cpp:73: warning: this decimal constant is unsigned only in ISO C90                                                           
/home/kde-devel/kde/src/KDE/kdelibs/kdecore/network/k3socks.cpp: In constructor ‘KSocks::KSocks(const KConfigGroup*)’:
/home/kde-devel/kde/src/KDE/kdelibs/kdecore/network/k3socks.cpp:305: warning: ‘static KLibLoader* KLibLoader::self()’ is deprecated (declared at /home/kde-devel/kde/src/KDE/kdelibs/kdecore/util/klibloader.h:142)
Linking CXX shared library ../lib/libkdecore.so
[ 12%] Built target kdecore                                                                                                                                                                     
make: *** [all] Errore 2
Tupla
Registered Member
Posts
47
Karma
0
OS
Ok, I solved, it was my fault (I was launching compilation from another directory), now kdelibs is compiled, and I'm trying to compile kdepimlibs...
Code: Select all
/home/kde-devel/kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp: In member function ‘void Akonadi::MonitorPrivate::emitCollectionNotification(const Akonadi::NotificationMessage&, const Akonadi::Collection&, const Akonadi::Collection&, const Akonadi::Collection&)’:
/home/kde-devel/kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp:435: error: ‘Subscribe’ is not a member of ‘Akonadi::NotificationMessage’
/home/kde-devel/kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp:439: error: ‘Unsubscribe’ is not a member of ‘Akonadi::NotificationMessage’
make[2]: *** [akonadi/CMakeFiles/akonadi-kde.dir/monitor_p.o] Errore 1
make[1]: *** [akonadi/CMakeFiles/akonadi-kde.dir/all] Errore 2
make[1]: *** In attesa di lavori non terminati...
[ 39%] Built target kio_imap4
make: *** [all] Errore 2

Could this be a bug? It seems an error in code, it doesn't complain about unsatisfied dependencies >:(
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Have you tried updating the sources you checked out from KDE SVN? It may have been a temporary build breakage.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Tupla
Registered Member
Posts
47
Karma
0
OS
Yes, I made "svn up", but it's already the latest revision :(
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Do you have any KDE Development packages from your distribution installed? If so, try uninstalling them.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Tupla
Registered Member
Posts
47
Karma
0
OS
Could you explain me better what do you mean by "KDE Development packages", please? Something like KDevelop, or kdesdk?
Tupla
Registered Member
Posts
47
Karma
0
OS
Anyone?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
I am referring to packages such as kdelibs5-dev


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Tupla
Registered Member
Posts
47
Karma
0
OS
Isn't there any other way? I need those packages in order to learn kde development :(
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
When you install kdelibs from trunk, it will provide the headers and other materials provided by kdelibs5-dev


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
User avatar
dpalacio
Registered Member
Posts
240
Karma
2
OS
My guess is the installed Akonadi is too old. Compile it from sources. It is available in the kdesupport module.


connect(post, SIGNAL(readSignature()), qapp, SLOT(quit()));
Tupla
Registered Member
Posts
47
Karma
0
OS
I already compiled kdesupport because the building tutorial says that is a requirement for other modules (kdelibs & kdepimlibs) >:(
As for uninstalling kdelibs5-dev: I know that if I manage to get building from trunk working I will have headers installed, but if I want to use another user instead of kde-devel, what I need to do? Have I to "make install" kdelibs in /usr/include instead of kde-devel's home?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Please ensure that the following is sourced *before* KDE startup on your trunk user. Adding it to ~/.bashrc, ~/.profile or ~/.xinitrc should be sufficient to do it.
This script assumes you are installing KDE to /opt/trunk-kde/kde/ and Qt to /opt/trunk-kde/qt/

If you are not self compiling Qt, then change QTDIR to "/usr". Simply change the content of KDEDIR to change where KDE is being installed to.

I use this myself, and I haven't had a case yet where libraries or headers were incorrectly found ( although I don't have kdelibs or qt devel packages installed in my main system in any case )

Code: Select all
if [ -z "${KDE_ENV_SET}" ]; then
    export KDEDIR="/opt/trunk-kde/kde"
    export KDEDIRS="${KDEDIR}"

    export QTDIR="/opt/trunk-kde/qt"
    export QT_PLUGIN_PATH="${KDEDIR}/lib/kde4/plugins"

    export PATH="${HOME}/bin:${KDEDIR}/bin:${QTDIR}/bin:${PATH}"
    export LD_LIBRARY_PATH="${KDEDIR}/lib:${QTDIR}/lib"
    export CMAKE_PREFIX_PATH="${KDEDIR}:${QTDIR}"
    export PKG_CONFIG_PATH="${KDEDIR}/lib/pkgconfig:${KDEDIR}/share/pkgconfig:${QTDIR}/lib/pkgconfig"

    export KDEHOME="${HOME}/.kde4/"
    # Allow System Wide apps to be found
    export XDG_DATA_DIRS="/usr/share"

    # Set the XDG data path, helps finding plugins, etc
    export XDG_DATA_DIRS="${KDEDIR}/share:${XDG_DATA_DIRS}"
    export XDG_CONFIG_DIRS="${KDEDIR}/etc/xdg"

    # Don't accidentally get sourced again.
    export KDE_ENV_SET=1
fi


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]


Bookmarks



Who is online

Registered users: Bing [Bot], blue_bullet, Google [Bot], rockscient, Yahoo [Bot]