You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.6 KiB
138 lines
4.6 KiB
15 years ago
|
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
|
||
|
kdelibs
|
||
|
kdebase (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 KDEDIR=/usr/local/kde
|
||
|
|
||
|
With csh or tcsh the following is more appropriate:
|
||
|
|
||
|
setenv KDEDIR /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=$KDEDIR/lib:$QTDIR/lib
|
||
|
|
||
|
On systems whose diety of choice is ldconfig, try:
|
||
|
ldconfig -m $KDEDIR/lib
|
||
|
ldconfig -m $QTDIR/lib
|
||
|
|
||
|
You probably also want to add $KDEDIR/bin and $QTDIR/bin to your path.
|
||
|
|
||
|
See http://www.kde.org/kde2-and-kde3.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/KDEDIR 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 kdesdk/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/kdelibs/kdeprint/management'
|
||
|
make[3]: *** No rule to make target all'. Stop.
|
||
|
make[3]: Leaving directory /home/gregturp/KDE/kdelibs/kdeprint/management'
|
||
|
make[2]: *** [all-recursive] Error 1
|
||
|
make[2]: Leaving directory /home/gregturp/KDE/kdelibs/kdeprint'
|
||
|
make[1]: *** [all-recursive] Error 1
|
||
|
make[1]: Leaving directory /home/gregturp/KDE/kdelibs'
|
||
|
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
|
||
|
kdesdk/scripts/create_makefile script. Make sure to run it from the toplevel
|
||
|
directory. (E.g. /home/gregturp/KDE/kdelibs)
|
||
|
|
||
|
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 kdelibs 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
|