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).


All times are GMT -5. The time now is 11:27 AM.