|
|
|
PLEASE SEE ADDITIONAL RESOURCES AT http://www.trinitydesktop.org,
|
|
|
|
including compilation instructions in the Wiki and IRC channel(s) for support!
|
|
|
|
|
|
|
|
=========================================================================
|
|
|
|
ORIGINAL TEXT
|
|
|
|
MAY BE OUTDATED AS OF 07/25/2011
|
|
|
|
=========================================================================
|
|
|
|
|
|
|
|
THIS DOCUMENT DESCRIBES HOW YOU CAN COMPILE KDE WHEN USING SUBVERSION
|
|
|
|
|
|
|
|
(If you use source tarballs, you can skip "make -f Makefile.cvs" and
|
|
|
|
should use "make distclean" instead of "svn-clean")
|
|
|
|
|
|
|
|
What you need
|
|
|
|
=============
|
|
|
|
|
|
|
|
Make sure you get the following stuff from the repository:
|
|
|
|
|
|
|
|
qt-copy (This is qt-3.3.2)
|
|
|
|
arts
|
|
|
|
tdelibs
|
|
|
|
tdebase (strongly recommended but not strictly necessary)
|
|
|
|
<any other package you are interested in>
|
|
|
|
|
|
|
|
It is important that you compile AND INSTALL the above packages in the
|
|
|
|
above order.
|
|
|
|
|
|
|
|
Further you will need GNU make, autoconf 2.52, automake 1.5 and
|
|
|
|
a working C++ compiler (eg. gcc 2.95.2)
|
|
|
|
|
|
|
|
Preparations
|
|
|
|
============
|
|
|
|
|
|
|
|
Before you start you must decide two things:
|
|
|
|
|
|
|
|
1) Where do you want to have Qt installed? Qt is a bit lame in that it
|
|
|
|
basically installs itself in its own source-tree, but symlinks are your
|
|
|
|
friend. E.g you could link /usr/local/lib/qt3 to where you keep your Qt
|
|
|
|
source. Qt libs then end up in /usr/local/lib/qt3/lib.
|
|
|
|
|
|
|
|
2) Where do you want to have KDE installed. A good candidate is /usr/local/kde
|
|
|
|
|
|
|
|
Make sure you do (if using sh, ksh, or bash):
|
|
|
|
export TDEDIR=/usr/local/kde
|
|
|
|
|
|
|
|
With csh or tcsh the following is more appropriate:
|
|
|
|
|
|
|
|
setenv TDEDIR /usr/local/kde
|
|
|
|
|
|
|
|
Now you want to make sure that Qt and KDE libraries are picked up correctly.
|
|
|
|
|
|
|
|
On systems that respond to environment variables something similar to the
|
|
|
|
following is appropriate:
|
|
|
|
|
|
|
|
export LD_LIBRARY_PATH=$TDEDIR/lib:$QTDIR/lib
|
|
|
|
|
|
|
|
On systems whose diety of choice is ldconfig, try:
|
|
|
|
ldconfig -m $TDEDIR/lib
|
|
|
|
ldconfig -m $QTDIR/lib
|
|
|
|
|
|
|
|
You probably also want to add $TDEDIR/bin and $QTDIR/bin to your path.
|
|
|
|
|
|
|
|
See http://www.kde.org/kde2-and-trinity.html for tips about setting up
|
|
|
|
KDE 3.0 next to KDE 2.x.
|
|
|
|
|
|
|
|
Compiling
|
|
|
|
=========
|
|
|
|
|
|
|
|
The magic sequence to compile & install a package is:
|
|
|
|
gmake -f Makefile.cvs
|
|
|
|
./configure --enable-debug
|
|
|
|
gmake
|
|
|
|
gmake install
|
|
|
|
|
|
|
|
(On Linux, GNU make is the default make, and gmake in the above commands
|
|
|
|
can be replaced with make).
|
|
|
|
|
|
|
|
For Qt the magic sequence is:
|
|
|
|
|
|
|
|
./configure -debug -shared -qt-gif -thread -sm -system-zlib -system-libpng -system-jpeg
|
|
|
|
make
|
|
|
|
|
|
|
|
Common problems
|
|
|
|
===============
|
|
|
|
|
|
|
|
Wrong Qt paths:
|
|
|
|
One of the biggest problems is picking up the correct version of Qt,
|
|
|
|
especially if your system has more version of Qt installed. Be aware
|
|
|
|
that information about library paths gets saved in the "config.cache"
|
|
|
|
file, "Makefile.in" as well as "Makefile" files. So it can be that after
|
|
|
|
some struggle to get QTDIR/TDEDIR setup correctly your setup is actually
|
|
|
|
correct, but old -incorrect- settings are still lying around.
|
|
|
|
|
|
|
|
The best thing to do in such a case is to do a "svn-clean" (from tdesdk/scripts).
|
|
|
|
This removes all files which aren't stored in the repository. You can then start all over
|
|
|
|
again with "makefile -f Makefile.cvs". Make sure you don't have any important
|
|
|
|
files lying around in your source tree any more, they will be deleted!
|
|
|
|
|
|
|
|
New directories:
|
|
|
|
When a new directory gets added to the repository it usually only contains a
|
|
|
|
Makefile.am but not a Makefile. If you try to compile such a directory
|
|
|
|
you will get an error like:
|
|
|
|
|
|
|
|
Making all in management
|
|
|
|
make[3]: Entering directory /home/gregturp/KDE/tdelibs/tdeprint/management'
|
|
|
|
make[3]: *** No rule to make target all'. Stop.
|
|
|
|
make[3]: Leaving directory /home/gregturp/KDE/tdelibs/tdeprint/management'
|
|
|
|
make[2]: *** [all-recursive] Error 1
|
|
|
|
make[2]: Leaving directory /home/gregturp/KDE/tdelibs/tdeprint'
|
|
|
|
make[1]: *** [all-recursive] Error 1
|
|
|
|
make[1]: Leaving directory /home/gregturp/KDE/tdelibs'
|
|
|
|
make: *** [all-recursive-am] Error 2
|
|
|
|
|
|
|
|
The solution is to redo "make -f Makefile.cvs; ./configure".
|
|
|
|
|
|
|
|
You can create a single Makefile from a Makefile.am file with the
|
|
|
|
tdesdk/scripts/create_makefile script. Make sure to run it from the toplevel
|
|
|
|
directory. (E.g. /home/gregturp/KDE/tdelibs)
|
|
|
|
|
|
|
|
Problems?
|
|
|
|
=========
|
|
|
|
|
|
|
|
See http://www.kde.org/compilationfaq.html for common build problems
|
|
|
|
and their solution.
|
|
|
|
|
|
|
|
If you encounter _LINK_ problems you are probably doing something wrong.
|
|
|
|
Do a "svn-clean" and start from scratch, usually this solves the problem.
|
|
|
|
|
|
|
|
If you encounter missing include files, especially if the files start with
|
|
|
|
a 'q', you probably have not setup your QTDIR correct or have the wrong
|
|
|
|
version of Qt.
|
|
|
|
|
|
|
|
If you encounter compile errors after updating from SVN, check whether you
|
|
|
|
need to update tdelibs as well. If the problems persists, wait a few hours,
|
|
|
|
usually compile errors are fixed shortly after they have been introduced.
|
|
|
|
|
|
|
|
If you still have problems read the kde-devel@kde.org mailinglist and/or
|
|
|
|
post your problem there. You can subscribe by sending mail to
|
|
|
|
kde-devel-request@kde.org with "subscribe" in the subject.
|
|
|
|
|
|
|
|
Have fun!
|
|
|
|
|
|
|
|
Cheers,
|
|
|
|
Waldo Bastian
|
|
|
|
bastian@kde.org
|