Amarok/Archives/KDElibsWithout aRts: Difference between revisions

From KDE Community Wiki
(remove unused template)
 
Line 1: Line 1:
{{I18n/KDElibs without aRts}}
==Building A Minimal KDElibs==
==Building A Minimal KDElibs==
For non-KDE users it is desirable to make amaroK require as little of KDE as possible. One possibility is to compile KDElibs without an aRts dependency:
For non-KDE users it is desirable to make amaroK require as little of KDE as possible. One possibility is to compile KDElibs without an aRts dependency:


Line 12: Line 12:


===Additional Notes===
===Additional Notes===
* Read the KDElibs '''README''' before you try to compile it.
* Read the KDElibs '''README''' before you try to compile it.
* Ensure that Qt is compiled as required by KDElibs before you try to build or use KDElibs. It is probably best to use your distribution's packages for Qt.
* Ensure that Qt is compiled as required by KDElibs before you try to build or use KDElibs. It is probably best to use your distribution's packages for Qt.


==Building A Minimal Qt==
==Building A Minimal Qt==
If you want a minimal Qt too, then you can quite easily compile Qt with minimal dependencies. Here's my configure line:
If you want a minimal Qt too, then you can quite easily compile Qt with minimal dependencies. Here's my configure line:



Latest revision as of 20:18, 2 January 2013

Building A Minimal KDElibs

For non-KDE users it is desirable to make amaroK require as little of KDE as possible. One possibility is to compile KDElibs without an aRts dependency:

$ tar xjf kdelibs-x.y.tar.bz2
$ ./configure --without-arts --enable-final --disable-debug
$ make && su -c 'make install'

--enable-final uses plenty of RAM (you need at least 512MB), but will give a smaller binary compiled in a faster time. You should always --disable-debug for KDElibs, otherwise your .xsession-errors file will fill very fast!

You will now have to configure amaroK --without-arts also, otherwise configure will fail.

Additional Notes

  • Read the KDElibs README before you try to compile it.
  • Ensure that Qt is compiled as required by KDElibs before you try to build or use KDElibs. It is probably best to use your distribution's packages for Qt.

Building A Minimal Qt

If you want a minimal Qt too, then you can quite easily compile Qt with minimal dependencies. Here's my configure line:

./configure \
       -release -fast -thread \
       -qt-gif \
       -plugin-imgfmt-mng -qt-imgfmt-jpeg -qt-imgfmt-png \
       -system-libpng -system-libjpeg -system-zlib -system-libmng \
       -no-exceptions -no-tablet -no-cups -no-ipv6 -no-xinerama -no-stl -no-nas-sound \
       -dlopen-opengl \
       -no-style-motif -no-style-cde -no-style-motifplus -no-style-platinum -no-style-sgi

There's more you can remove from Qt too, KDElibs should still compile against it as long as you leave it threaded. Make sure you read the Qt README as building Qt is not completely typical.

Troubles People Have Had

If you encounter any other issues that you eventually fix, please update this wiki entry! Thanks :)

One

If you have kdelibs compiled and installed sucessfully but you get the following error when compiling amarok:

 checking if UIC has KDE plugins available... 
 configure: error: not found - you need to install kdelibs first.

Recompile Qt with the '-thread' flag.

$ ./configure -thread

Now run 'qtconfig' and add the following plugin paths: (presuming you installed kde in its default directory)

 /usr/lib/kde3/plugins
 /usr/local/kde/lib/kde3/plugins

Then recompile amarok.

NOTE - It would have been pretty obvious that compiling Qt with threading was absolutely required if the KDElibs README was read first! --Mxcl

Funny that if it was that obvious noone could tell what was wrong. Yes I'm talking to you! ;) It just so might be that you were sure you had compiled with threading support, but at some stage recompiled without it by accident. But hey, thats what wikis are for.
It would be obvious that you needed threading if you'd read the README first. However, it wasn't obvious from your symptoms that your problem was a lack of threading in your Qt. Isn't that obvious? ;)