From ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- COMPILING | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 COMPILING (limited to 'COMPILING') diff --git a/COMPILING b/COMPILING new file mode 100644 index 000000000..51681366b --- /dev/null +++ b/COMPILING @@ -0,0 +1,137 @@ +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) + + +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 -- cgit v1.2.3