LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Order to build KDE4 deps (https://www.linuxquestions.org/questions/slackware-14/order-to-build-kde4-deps-694376/)

dugan 01-02-2009 12:00 AM

Order to build KDE4 deps
 
What is the correct order for building the contents of testing/source/kde4/deps?

I've been trying to work it out, and all I can remember is:

sip before qt
qt before PyQt
qca before qca-cyrus-sasl, qca-gnupg or qga-ossl
clucene before soprano

Obviously, this isn't complete.

May I have some help completing this please?

BugZRevengE 01-02-2009 12:36 AM

http://techbase.kde.org/Getting_Started/Build/KDE4
that should cover it....

or you could use the build tool:
http://kdesvn-build.kde.org/
which i think most of the devs use

dugan 01-02-2009 02:24 AM

The first link took me to:
http://techbase.kde.org/Getting_Star.../Prerequisites

It recommended building boost, cluecene and raptor and rasqal (both of which are part of librdf) first, then qt, then soprano, strigi, eigen, qimageblitz, phonon and qca.

According to the openexr site, ilmbase is a dependency for openexr.

According to the librdf site, raptor and rasqal are dependencies for redland.

Obviously, QScintilla needs to be built after Qt.

The order for the others probably doesn't matter.

Actually, that just about does cover it.

So would the following order be correct?
  1. sip, boost, cluecene, raptor, rasqal, ilmbase
  2. qt, opexr
  3. PyQt, soprano, strigi, eigen, eigen2, qimageblitz, phonon, qca
  4. everything else

ppr:kut 01-02-2009 05:52 AM

sip needs to be built before PyQt, but that would be fine as you listed it already in the correct order.
Something missing though is akonadi, which includes (at this time) also automoc, which is required by phonon.
If you build kde-4.2 you can strip eigen, it's not necessary anymore.

That should be everything now :)

dugan 01-02-2009 08:56 AM

Thanks all.

BTW, speaking of "geek-ware", the list of packages above sounds like the cast of some 80s science fiction-themed cartoon toy commercial!

"Sip, master of disguise; Eigen, demolitions expert; Qimageblitz, the master of illusion. Watch them join forces against the evil Akonadi and his sidekick Soprano. Collect them all. Each sold separately."

Choucete 01-07-2009 12:42 PM

Hi,

I'm currently in the process of setting up KDE 4.2 in my fresh Slackware 12.2 box.

I've been reading a lot about the building process (mostly because I didn't quite get some things, which are just starting to make sense now that I have my hands on it). And I have to admit that the information reflected here made me raise an eyebrow.

What I found confusing is the fact that you mention some stuff that isn't listed in the techbase documentation i.e. sip, ilmbase, opexr. Actually here's the list of the things that I've installed since this morning (I'm still on the prerequisites section):

Code:

libjpg --> already existed
libpng --> already existed
libungif --> already existed
libclucene --> installed
librdf --> installed
        raptor --> installed
        rasqal --> installed
libxml2 --> already existed
libxslt --> already existed
shared-mime-info --> updated to the 0.51 (actually not sure if it was present already)
boost --> installed

And right now Qt 4.4.3 is in the making process.

According to what I understand based on the documentation from KDE the following step would be to install kdesupport:

Quote:

There are several libraries that KDE applications rely on in the
kdesupport module. This includes Phonon, Strigi and Soprano for file
metadata and search, QImageBlitz for image manipulation needed in
kdebase, eigen for visual effects in applications such as Kalzium,
taglib for music players and qca for some cryptographic needs.
So then I can install Phonon, Strigi, Soprano, QImageBlitz, eigen (not necessary according to ppr:kut), taglib and qca.

And finally, after that I could proceed to just checkout the trunk to get the full KDE 4.2 sources.

Is this correct or am I missing something? Any light you might be able to shed on this will be greatly appreciated. :)

Alien Bob 01-07-2009 01:57 PM

This is the README in Slackware-current which describes what the KDE 4.1.3 package build order was: http://slackware.osuosl.org/slackwar...es/kde4/README . You can use that as a guideline to build KDE4.2 betas too, as long as you have up to date versions of the dependencies.

Eric

ppr:kut 01-07-2009 02:13 PM

There is one additional must have dependency for 4.2 that was not necessary for 4.1: libical (for kdepimlibs). kdepimlibs used an internal fork of libical until some weeks ago.

ppr:kut 01-07-2009 02:25 PM

Quote:

eigen (not necessary according to ppr:kut)
well, I said eigen(1) is not needed anymore. You'll still need the eigen from kdesupport though, which is actually eigen2

Choucete 01-07-2009 04:41 PM

Thanks a lot to everyone for this information!

I'll review the suggested docs and keep on with my KDE 4 installation adventure and I'll get back here if any new doubts arise.

Thanks again!

Choucete 01-08-2009 09:02 AM

H there, me again.

I have got past the qt-copy installation. The problem is that the command

Code:

which qmake
throws

Code:

usr/bin/qmake
Instead of

Code:

~/qt-copy/bin/qmake
This is now causing an error to happen when trying to run cmakekde for kdesupport:

Code:

CMake Error at /usr/share/cmake-2.6/Modules/FindQt4.cmake:1664 (MESSAGE):
  Qt qmake not found!
Call Stack (most recent call first):
  automoc/CMakeLists.txt:5 (find_package)


-- Configuring incomplete, errors occurred!
make: *** No targets specified and no makefile found.  Stop.

The documentation recommends to just reinstall everything, but isn't there a way to point an environmental variable to the right place maybe? I'm asking not because of laziness to reinstall (it would take less time than posting here :P), but because I don't see how reinstalling what already was successfully installed would change anything in this case (please don't take that as an underestimation of the docs that more capable people than me prepared, but I'm just trying to understand what's going on, not just repeat steps blindly).

Could also the fact that before this step I installed Qt 4.4.3 myself be causing this? Anyway, I'm now uninstalling Qt 4.4.3 to see if that leaves me only with the qt-copy from kde trunk. And I'm seriously thinking about just reinstalling my Slack (it's fresh so no big deal) to start again from scratch.

What do you think?

Thanks in advance.

Choucete 01-08-2009 12:26 PM

I was able to solve the qt problem by editing the .bashrc file finally, it was pointing to the wrong directory.

But now a new error message pops up, about which the docs don't say a thing. I've been trying to google it but found nothing significant. Any ideas?

This is the error message:
Code:

kde4@darkstar:~/KDE4/src/kdesupport$ cmakekde
-- Found Qt-Version 4.4.3 (using /home/kde4/KDE4/src/qt-copy/bin/qmake)
-- Found Automoc4: /home/kde4/KDE4/build/kdesupport/automoc/automoc4
CMake Error at /usr/share/cmake-2.6/Modules/FindBoost.cmake:620 (message):
  Unable to find the requested Boost libraries.

  Unable to find the Boost header files.  Please set BOOST_ROOT to the root
  directory containing Boost or BOOST_INCLUDEDIR to the directory containing
  Boost's headers.
Call Stack (most recent call first):
  akonadi/CMakeLists.txt:38 (find_package)


CMake Error at akonadi/CMakeLists.txt:40 (message):
  Akonadi requires the Boost C++ libraries.


-- Configuring incomplete, errors occurred!
make: *** No targets specified and no makefile found.  Stop.

The problem is that I don't find how to manually set those two variables, actually the following only give me empty paths:

Code:

echo $BOOST_ROOT

echo $BOOST_INCLUDEDIR

Are these two actually environmental variables? Where can I find them? And how do I set them to point to my boost directory? Google just gives me a cmake file that says "Set this to the include directory of Boost, if the module has problems finding the proper Boost installation"

Choucete 01-08-2009 12:29 PM

Quick update: including the boost directory to the $PATH did not help.

Choucete 01-08-2009 01:31 PM

Ok, getting closer, I've learned that I need to edit the FindBoost.cmake file (now that I think of it, the file was mentioned on the message :newbie:), but I'm not exactly sure of how to set the variable.

This didn't work:
Code:

SET(BOOST_ROOT "/usr/local/include/boost-1_37/boost/")

Choucete 01-09-2009 01:53 AM

Well, I was finally able to solve it. A look at cmake's man page and a deeper google search revealed the necessary steps.

What I did was to setup a symbolic link within /usr/local/bin for boost and another for qmake (the latter because I started to get an error because cmakekde wasn't able to find qmake).

heinblöd 01-11-2009 07:00 AM

Well #arrogance mode on # what about some Bash (or shell) basics #arrogance mode off # :)
Code:

export BOOST_INCLUDE=/usr/include/boost
for example
according to your real path . put it in your ~bashrc maybe or into a rc.d or profile.d script, wherever you prefer to have it

But what about the Order for Kde main packages ? (for svn from today 11/jan/09)
I tried
-prereqs all (or most) optional ones also
- qt (without phonon)
- kdesupport ( we get phonon here , don't build the 2 , cmake will complain)
- kdelibs
- kdepimlibs
- kdebindings (get stuck about all this smoke stuff)
- kdebase (installed kerberos and pam , but actually don't know if that was a good idea?!)

kdebindings won't compile because in php-qt dir cmake is missing
the smoke subdir, even when I switch all smoke stuff off .

There is a build.sh in there which generates the dir but then kdebindings won't configure/compile anymore because the targets already exist , but with smoke switched off cmake doesn't complain about the missing dir anymore but obviously won't install the already build targets. a make install in that dir doesn't work --- Thats quite strange - any ideas ?

kdebase fail on plasma for the moment ....
Or do I have to build ~bindings after ~base (I read somewhere to build them before but all other doc says to do ~base before )
Someone already succeeded to build kde svn on slack 12.2 ??

Alien Bob 01-11-2009 10:07 AM

I built KDE 4.1.96 which is only a few days old (in fact it is tagged 4.2RC1), but I did not use kdesupport and instead used to pick the relevant deps from that tarball. At this moment I only use qimageblitz, eigen2 an automoc4 from a kdesupport snapshot (r900905).
The build order of the KDE packages (some of the ones at the end are from extragear) that I used is:
Code:

kdelibs
kdepimlibs
kdebase-workspace
kdebase
kdebase-workspace
kdebase-runtime
kdeaccessibility
kdeutils
kdemultimedia
kdenetwork
kdeadmin
kdeartwork
kdegames
kdetoys
kdegraphics
kdesdk
kdepim
kdeedu
kdeplasma-addons
kdebindings
kdewebdev
konq-plugins
koffice
amarok
guidance-power-manager
kaudiocreator
ktorrent

For kdebindings I had to use a small patch in order to let 4.1.96 compile:
Code:

diff -up kdebindings-4.1.96/smoke/akonadi/CMakeLists.txt.orig kdebindings-4.1.96/smoke/akonadi/CMakeLists.txt
--- kdebindings-4.1.96/smoke/akonadi/CMakeLists.txt.orig        2009-01-09 14:37:07.000000000 +0100
+++ kdebindings-4.1.96/smoke/akonadi/CMakeLists.txt    2009-01-09 14:37:29.000000000 +0100
@@ -90,6 +90,7 @@ kde4_add_library(smokeakonadi SHARED ${s
 target_link_libraries(smokeakonadi
    ${KDEPIMLIBS_AKONADI_LIBS}
    ${KDEPIMLIBS_AKONADI_KMIME_LIBS}
+    kdecore kdeui
    smokekde
    smokeqt )

Other than that, no real problems, but is it very important that you have the very latest releases of all the dependencies!

Eric

Choucete 01-11-2009 11:32 PM

Quote:

Originally Posted by heinblöd (Post 3404382)
Someone already succeeded to build kde svn on slack 12.2 ??

I was finally able to successfully compile it. I used the one from trunk.

You should be aware that since last Tuesday, if you download directly from trunk you are getting what will soon be KDE 4.3, since 4.2 has been branched already.

Alien Bob 01-12-2009 01:35 AM

Quote:

Originally Posted by Choucete (Post 3405236)
I was finally able to successfully compile it. I used the one from trunk.

You should be aware that since last Tuesday, if you download directly from trunk you are getting what will soon be KDE 4.3, since 4.2 has been branched already.

Tagging the tree with 4.2 has nothing to do with a release of 4.3 any time soon. KDE4.3 is scheduled for release on july 28th, 2009.

What you will soon see as an official release is KDE 4.2 (the 4.2 tag means that only bugfixes are allowed now for 4.2).

Eric

ppr:kut 01-12-2009 05:02 AM

Quote:

Tagging the tree with 4.2 has nothing to do with a release of 4.3 any time soon. KDE4.3 is scheduled for release on july 28th, 2009.
I think what he meant is that since kde 4.2rc1 has been tagged, trunk is no longer the development tree that will eventually lead to kde 4.2. In fact trunk is open for new features already, targeting kde 4.3. So if anyone wants a newer snapshot of kde 4.2, trunk is no longer the place to get it from.

Choucete 01-12-2009 08:13 AM

Quote:

Originally Posted by ppr:kut (Post 3405506)
I think what he meant is that since kde 4.2rc1 has been tagged, trunk is no longer the development tree that will eventually lead to kde 4.2. In fact trunk is open for new features already, targeting kde 4.3. So if anyone wants a newer snapshot of kde 4.2, trunk is no longer the place to get it from.

Yes that was exactly what I meant. Thanks for clarifiying that. :)

This was my source just in case anybody is interested: http://aseigo.blogspot.com/2009/01/4...is-now-43.html

Cheers

heinblöd 01-12-2009 07:44 PM

I finally finished compiling right now from branch.
Kdebindings is still missing smoke-stuff - but compiles when I leave out all smoke and php-qt stuff, there might be some deps missing


All times are GMT -5. The time now is 02:20 AM.