Browse Source

Update COMPILING document

tags/r14.0.0
Timothy Pearson 7 years ago
parent
commit
4af19d1f66
1 changed files with 4 additions and 143 deletions
  1. 4
    143
      COMPILING

+ 4
- 143
COMPILING View File

@@ -1,145 +1,6 @@
PLEASE SEE ADDITIONAL RESOURCES AT http://www.trinitydesktop.org,
including compilation instructions in the Wiki and IRC channel(s) for support!
including the compilation instructions in the Wiki at
http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild

=========================================================================
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
The TDE developers are available on the mailing lists and IRC channel(s),
so feel free to contact them for additional support!

Loading…
Cancel
Save