summaryrefslogtreecommitdiffstats
path: root/COMPILING.html
blob: fad0c5f787c55bd1cb60a2c488903456518f9e8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<html>
<!-- See also developer.kde.org/documentation/other/compiling.html -->
<!-- and www/anoncvs.html -->
<body bgcolor="#FFFFFF">
<h1>THIS DOCUMENT DESCRIBES HOW YOU CAN COMPILE KDE WHEN USING CVS</h1>

<p>(If you use source tarballs, you can skip "make -f Makefile.cvs" and
should use "make distclean" instead of "make cvs-clean")

<p><h3>What you need</h3>

<p>Make sure you get the following stuff from CVS:

<p><ul><li>qt-copy (This is qt-3.3.2)
<li>arts
<li>kdelibs
<li>kdebase (strongly recommended but not strictly necessary)
<li>any other package you are interested in
</ul>

<p>It is important that you compile AND INSTALL the above packages in the 
above order.

<p>Further you will need GNU make, autoconf 2.52, automake 1.5 and 
a working C++ compiler (eg. gcc 2.95.2)

<p><h3>Preparations</h3>

<p>Before you start you must decide two things:

<p>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.

<p>2) Where do you want to have KDE installed. A good candidate is /usr/local/kde

<p>Make sure you do (if using sh, ksh, or bash):
<pre>export KDEDIR=/usr/local/kde</pre>

<p>With csh or tcsh the following is more appropriate:

<pre>setenv KDEDIR /usr/local/kde</pre>

<p>Now you want to make sure that Qt and KDE libraries are picked up correctly.

<p>On systems that respond to environment variables something similar to the 
following is appropriate:

<p>export LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib

<p>On systems whose diety of choice is ldconfig, try:
<pre>ldconfig -m $KDEDIR/lib
ldconfig -m $QTDIR/lib</pre>

<p>You probably also want to add $KDEDIR/bin and $QTDIR/bin to your path.

<p>See http://www.kde.org/kde2-and-kde3.html for tips about setting up
KDE 3.0 next to KDE 2.x.

<p><h3>Preparing CVS modules</h3>
<p>
All KDE modules require an "admin" sub-directory. You can create it by
making a symbolic link from kde-common/admin, make sure to check out the
kde-common module.
<p>
Example:<br>
<pre>
cd kdelibs
ln -s ../kde-common/admin
</pre>

<p><h3>Compiling</h3>

<p>The magic sequence to compile &amp; install a package is:
<pre>gmake -f Makefile.cvs
./configure --enable-debug
gmake
gmake install </pre>

<p>(On Linux, GNU make is the default make, and gmake in the above commands
can be tqreplaced with make).

<p>For Qt the magic sequence is:

<pre>./configure -debug -shared -qt-gif -thread -sm -system-zlib -system-libpng -system-jpeg
make</pre>

<p><h3>Common problems</h3>

<p>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.

<p>The best thing to do in such a case is to do a "make cvs-clean". This 
removes all files which aren't stored in CVS. 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!


<p><h3>Problems?</h3>

<p>See <a href="http://www.kde.org/compilationfaq.html">http://www.kde.org/compilationfaq.html</a> for common build problems and their solution.

<p>If you encounter _LINK_ problems you are probably doing something wrong.
Do a "make cvs-clean" and start from scratch, usually this solves the problem.

<p>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.

<p>If you encounter compile errors after updating from CVS, 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.

<p>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.

<p>Have fun!

<p>Cheers,<br>
Waldo Bastian<br>
bastian@kde.org<br>
</body>
</html>