]>
Commit | Line | Data |
---|---|---|
6a5b60aa | 1 | Szymon Stefanek October 2008 |
b3503766 | 2 | ############################################################################### |
3bd5f999 | 3 | General notes for the installation of the 3.4.3 release of KVIrc |
b3503766 STS |
4 | ############################################################################### |
5 | ||
6 | This document contains the procedures to compile and install | |
3bd5f999 | 7 | the version 3.4.3 of KVIrc. |
b3503766 STS |
8 | |
9 | ############################################################################### | |
10 | # 0. Table of contents | |
11 | ############################################################################### | |
12 | ||
13 | 1. Introduction | |
14 | 2. Guru-level installation | |
15 | 3. Hacker-level installation | |
16 | 4. Human (detailed) installation instructions | |
17 | 5. How to compile KVIrc with Qt-embedded | |
18 | 6. Compiling KVIrc on Mac OS X | |
19 | 7. A note about Windows 95/98/ME | |
20 | ||
21 | ############################################################################### | |
22 | # 1. Introduction | |
23 | ############################################################################### | |
24 | ||
25 | This document contains the procedures to compile and install | |
3bd5f999 | 26 | the version 3.4.3 of KVIrc. |
b3503766 STS |
27 | |
28 | If you have found this document in a binary distribution then | |
29 | KVIrc has been probably already installed by your favorite package | |
30 | manager and maybe something is not working as expected. In this case | |
31 | this document and the accompanying FAQ can help you in guessing | |
32 | what's wrong. | |
33 | ||
34 | If you have found this document in a source distribution or you | |
63210586 | 35 | have downloaded it by using the svn then well... |
b3503766 STS |
36 | this is a standard INSTALL file :) |
37 | ||
38 | ############################################################################### | |
39 | # 2. Guru installation: | |
40 | ############################################################################### | |
41 | ||
42 | # ./configure | |
43 | # make install | |
44 | ||
45 | ############################################################################### | |
46 | # 3. Hacker installation: | |
47 | ############################################################################### | |
48 | ||
63210586 | 49 | If you're compiling the svn version of KVirc run ./autogen.sh |
b3503766 STS |
50 | (You NEED automake >= 1.5 for autogen.sh to run). |
51 | ||
52 | # export QTDIR="your qtlibrary path" | |
53 | ||
54 | eventually: | |
55 | ||
56 | # export KDEDIR="your kde library path" | |
57 | ||
58 | We're using GNU tools here. | |
59 | ||
60 | # ./configure --help | |
61 | # ./configure [your options] | |
62 | # make | |
63 | # make install | |
64 | ||
65 | ############################################################################### | |
66 | # 4. Human (detailed) installation: | |
67 | ############################################################################### | |
68 | ||
69 | If you're not a guru, or have problems with the installation | |
70 | read these instructions carefully. | |
71 | ||
72 | ### | |
e4a5164e | 73 | ### Step 0 (ONLY FOR THE SVN VERSION) |
b3503766 STS |
74 | ### |
75 | ||
63210586 | 76 | If (*** AND ONLY IF ***) you're compiling the svn version of kvirc |
b3503766 STS |
77 | you need to generate the configure script. If you're compiling |
78 | a downloaded tar.gz (or tar.bz2) package or you don't know what | |
63210586 | 79 | svn is then jump directly to step 1! |
b3503766 STS |
80 | |
81 | You need a recent automake and autoconf installed on your system. | |
82 | It is also reccomended to have a recent (matching) libtool installed | |
83 | (libtool is not strictly necessary since KVIrc has a bundled one, | |
84 | but a libtool matching your automake/autoconf versions will probably | |
85 | run better on your system). | |
86 | ||
87 | Anyway, run: | |
88 | ||
89 | # ./autogen.sh | |
90 | ||
91 | If it runs without any error (it will tell you "Done") then | |
92 | you may skip to step 1, otherwise read on. | |
93 | ||
94 | First of all check your auomake version. | |
2ab00122 | 95 | You need automake >= 1.5: older versions will NOT WORK. |
b3503766 STS |
96 | You can check the automake version with the command |
97 | ||
98 | # automake --version | |
99 | ||
100 | If your automake version is lower than 1.5 upgrade it. | |
101 | You can find it at http://www.gnu.org/software/automake/ (source) | |
102 | or on your favorite distribution site as auto-installing package. | |
103 | ||
104 | Automake installation tip: automake installs in /usr/local/ | |
105 | by default. If you have an older automake installation that | |
106 | resides in /usr/ it's better to remove it or (better) overwrite it | |
107 | with the new installation. | |
108 | If you choose to overwrite the old installation with the new | |
109 | one then just use "./configure --prefix=/usr" as the automake's | |
110 | configure command. | |
111 | If you choose to remove the old version then the files to be | |
112 | removed are /usr/bin/automake /usr/bin/aclocal /usr/share/automake | |
113 | /usr/share/aclocal. If you feel unsure about removing it, rename it. | |
114 | ||
115 | If the script fails to run then you might try | |
116 | ||
117 | # ./autogen.sh --bundled-libtool | |
118 | ||
119 | to force the usage of the bundled libtool version. | |
120 | If you later have unexplicable problems with the compilation tools | |
121 | you might also try the bundled libtool. | |
122 | ||
123 | ### | |
124 | ### Step 1 : Matching the requirements | |
125 | ### | |
126 | ||
2ab00122 STS |
127 | - You NEED a fully working C++ compiler. |
128 | ||
129 | Most linux distributions have it pre-installed and if you have | |
130 | already compiled other programs before then you're probably ok, | |
131 | so actually skip this check and go ahead. If anything fails | |
132 | in the following steps then this is the very first thing to verify. | |
133 | A broken compiler installation usually manifests itself | |
134 | in failed ./configure tests (dlopen capabilities). | |
135 | Try | |
136 | ||
137 | # gcc -v | |
138 | # g++ -v | |
139 | ||
140 | on the commandline. If it says something about "command not found" | |
141 | then you miss some gcc related package. Install it from the distro cd. | |
142 | ||
143 | ||
b3503766 STS |
144 | - You NEED the Qt library. |
145 | ||
146 | You can download the latest version from ftp://ftp.trolltech.com. | |
147 | The main Qt www site is http://www.trolltech.com. | |
148 | Note for the GPL maniacs: Qt IS GPL. | |
149 | The minimum required version is 3.1.2 (older versions *might* work) | |
150 | Download and install it by following the rules | |
151 | explained in the excellent documentation that comes with the library. | |
152 | ||
153 | ||
154 | - You need a decent pthread implementation. | |
155 | ||
156 | This is usually included in your distribution and is probably | |
157 | already installed. The library is called libpthread.so. | |
158 | You can look for it with the "find" command: | |
159 | ||
160 | # find / -name libpthread.so | |
161 | ||
162 | On my system the output is: | |
163 | ||
164 | # /usr/lib/libpthread.so | |
165 | ||
166 | If you don't have it (the configure script will tell you) | |
167 | you can download it from your favorite GNU mirror. | |
168 | ||
169 | On Solaris you can use the native libthread.so library instead | |
170 | but you will have to pass the specific option to configure (see below). | |
171 | FreeBSD has a native implementation of pthreads in libc_r and | |
172 | the gcc compiler has a special -pthread flag to link to it. | |
173 | If you're on FreeBSD, use the --with-freebsd-pthread configure | |
174 | option and make sure that you don't have other pthread wrappers | |
175 | installed (that might collide with the native header files). | |
176 | ||
177 | The configure script will also fail if the library is | |
178 | hidden somewhere on your system (eg. not in /lib , /usr/lib or | |
179 | /usr/local/lib): you should probably move it. | |
180 | ||
181 | ||
182 | - You need the dynamic linker interface library libdl.so. | |
183 | ||
184 | This is usually installed on your system , so don't care until | |
185 | configure complatins about it. Some system have the interface | |
186 | builtin in libc. The configure script can detect it. | |
187 | ||
188 | ||
189 | - (Optional) If you want to compile the KDE integration support | |
190 | you obviousy need KDE. The kdelibs package should suffice. | |
191 | ||
192 | ||
193 | - (Optional) If you want the translations to non-english languages to work | |
194 | then you need the GNU gettext package. In particular KVIrc uses | |
195 | the msgfmt program. | |
196 | ||
197 | This is usually included in your distribution and is probably | |
198 | already installed. You can check it by running | |
199 | ||
200 | # msgfmt --version | |
201 | ||
202 | KVIrc will not complain if the command above is missing: it will | |
203 | just skip the creation of the translation files. | |
204 | If the command above fails then you need to install the gettext package | |
205 | if you want any language other than english. | |
206 | ||
207 | ||
208 | - (Optional) If you want DCC VOICE to support the gsm codec, | |
209 | you need a recent copy of libgsm. This is not strictly required | |
210 | at compile time since KVIrc will look for the library at run-time, | |
211 | and only if the DCC VOICE with the gsm codec is requested. | |
212 | You can check for libgsm using the 'find' command. | |
213 | ||
214 | # find / -name libgsm* | |
215 | ||
216 | The output should be sometihg like | |
217 | ||
218 | # /usr/lib/libgsm.so | |
219 | ||
220 | This library is included in most distributions. Some distros ship | |
221 | only the static version of the library "libgsm.a": if the previous | |
222 | find returned only something similar to "/usr/lib/libgsm.a" , you might | |
223 | create manually the shared archive by running: | |
224 | ||
225 | # cd /usr/lib | |
226 | # ld --whole-archive -shared -o libgsm.so.1 libgsm.a | |
227 | # ln -s libgsm.so.1 libgsm.so | |
228 | # ldconfig | |
229 | ||
230 | If you don't have it installed at all, you might have a look in your | |
231 | distribution CD, or download it from the web. | |
232 | ||
233 | ||
234 | - (Optional) If you want the /snd plugin to play various audio formats | |
235 | you either need a running artsd, a running esd or a reasonably recent | |
236 | audiofile library. Without these KVIrc will be only able to play *.au | |
237 | files. | |
238 | ||
239 | ||
240 | - (Optional) If you want to generate the on-line documentation | |
241 | you also need perl: any version will do (I guess). | |
242 | ||
243 | ||
244 | - (Optional) If you want the secure socket layer support to be compiled | |
245 | you need the OpenSSL library and headers. (libssl.so and openssl/ssl.h) | |
246 | ||
2ab00122 | 247 | |
b3503766 STS |
248 | - (Optional) If you want perl scripting support to be compiled |
249 | you need a working perl installation. Your libperl.so MUST be compiled | |
250 | with the MULTIPLICITY option. (You can check it with perl -V). | |
251 | ||
252 | ### | |
253 | ### Step 2 : Running the configure script (mandatory) | |
254 | ### | |
255 | ||
256 | First of all you must run the configure script that will guess some | |
257 | info about your system and prepare the compilation. | |
258 | You may try to "simply run" it and check if it works...the configure | |
259 | script tries to be smart , but in some cases it will fail. | |
260 | ||
261 | So before running the script make sure that the enviroinement | |
262 | variable $QTDIR points to the right location. This will help | |
263 | in finding the correct version of Qt. | |
264 | You might eventually set it with the command: | |
265 | ||
266 | # export QTDIR="your qt dir" | |
267 | ||
268 | On my system qt is installed in /usr/local/kde/qt | |
269 | so I actually execute | |
270 | ||
271 | # export QTDIR="/usr/local/kde/qt" | |
272 | ||
273 | If you want to compile the KDE support you might want to do the same | |
274 | with KDEDIR | |
275 | ||
276 | # export KDEDIR="your kde dir" | |
277 | ||
278 | In my case KDE is installed in /usr/local/kde so I use | |
279 | ||
280 | # export KDEDIR="/usr/local/kde" | |
281 | ||
282 | The configure script has a lot of options that can be listed by using | |
283 | ||
284 | # ./configure --help | |
285 | ||
286 | Here's a list with explainations (the most common are at the top): | |
287 | ||
288 | --enable-debug | |
289 | This is for debugging and reporting problems. | |
290 | It sets the compiler options in order to leave the debugging | |
291 | informations into the kvirc executable and the libraries. | |
292 | In this way you will be able to produce a gdb backtrace | |
293 | in case of a crash. | |
294 | YOU NEED THIS OPTION IF YOU WANT TO REPORT A PROGRAM CRASH. | |
295 | ||
296 | --enable-pipes | |
297 | Asks the compiler to use pipes instead of files for the | |
298 | compilation stage. The pipes will help in reducing disk usage and | |
299 | will probably shorten the compilation a bit. Use this option if | |
300 | your platform supports it. | |
301 | ||
302 | --with-qt-library-dir=<DIR> | |
303 | Look for the qt library in <DIR>. | |
304 | You might want to use this if the configure script has trouble | |
305 | in finding the qt library. | |
306 | You should have no problems if you use export QTDIR="<DIR>" | |
307 | before launching the configure script, but it might help you | |
308 | if you have a non standard Qt installation. | |
309 | ||
310 | --with-qt-include-dir=<DIR> | |
311 | Look for the qt headers in <DIR>. | |
312 | You might want to use this if the configure script has trouble | |
313 | in finding the qt headers. It may especially help if your headers | |
314 | are in a place different than $QTDIR/include (and thus you have | |
315 | a non standard installation) | |
316 | ||
317 | --with-qt-moc=<PATH> | |
318 | Use the qt meta-object compiler found in <PATH> | |
319 | The path is usually $QTDIR/bin/moc , and the | |
320 | configure script will find it if you have a standard | |
321 | Qt installation and $QTDIR points to the right directory. | |
322 | Thus should have no problems if you use export QTDIR="<DIR>" | |
323 | before launching the configure script, but it might help you | |
324 | if you have a non standard Qt installation. | |
325 | This will also help if you have the moc compiler renamed | |
326 | in some way: like "moc2" or sth... | |
327 | <PATH> in this case is a FULL path: directory/program_name! | |
328 | ||
329 | --disable-qt-check | |
330 | This disables Qt checking at compilation time. | |
331 | If this is the only way to compile and run | |
332 | the kvirc executable , then there is something | |
333 | wrong with the configure script. | |
334 | ||
335 | --without-kde-support | |
336 | The configure script will look for the KDE headers and libraries | |
337 | and if found it will enable the KDE support. If you don't want | |
338 | the KDE support even if KDE is detected, just use this switch. | |
339 | ||
340 | --with-kde-library-dir=<DIR> | |
341 | Look for the KDE libraries in <DIR> | |
342 | If $KDEDIR points to the right place, you shouldn't need this. | |
343 | ||
344 | --with-kde-include-dir=<DIR> | |
345 | Look for the KDE headers in <DIR> | |
346 | If $KDEDIR points to the right place, you shouldn't need this. | |
347 | ||
348 | --with-kde-services-dir=<DIR> | |
349 | Install the kde service protocol files in <DIR> | |
350 | If $KDEDIR points to the right place, you shouldn't need this. | |
351 | This is also non-critical for kvirc: if the configure script | |
352 | can't find this directory, you will only looose the support for | |
353 | irc:// urls in konqueror | |
354 | ||
355 | --without-kde-check | |
356 | Similar to --without-qt-check but for KDE. | |
357 | ||
358 | --enable-optimisation=<NUMBER> | |
359 | Enables the compiler optimisation flag -o<NUMBER>. | |
360 | Possible values are 0 , 1, 2 and 3 (but if you compiler supports | |
361 | more optimisation levels , you might use other numbers here). | |
362 | Increases compilation time but may produce a slightly faster | |
363 | executable. | |
364 | ||
365 | --with-other-libs=<libraries> | |
366 | Explicitly link to the specified libraries. | |
367 | Example: --with-other-libs="-lmylib -lstrangesystemsupport" | |
368 | ||
369 | --with-other-ldirs=<paths> | |
370 | Explicitly add the specified library search paths | |
371 | Example: --with-other-ldirs="-L/home/pippo/lib/ -L/my/library/" | |
372 | ||
373 | --with-other-idirs | |
374 | Explicitly add the specified include search path | |
375 | Example: --with-other-idirs="-I/home/pippo/include/ -I/tmp/inc/" | |
376 | ||
377 | --enable-objprelink | |
378 | This is an experimental support for object prelinking that improves | |
379 | significantly the executable startup time. In order to use it you | |
380 | need to have the "objprelink" program in the PATH. The objprelink | |
381 | program is included in the distribution in the admin directory. | |
382 | In order to use it, you will need to: | |
383 | ||
384 | # cd admin | |
385 | # make objprelink | |
386 | # cp objprelink /somewhere_on_your_path | |
387 | ||
388 | All this AFTER running ./configure and BEFORE running make. | |
389 | ||
390 | --with-no-pthread-check | |
391 | Do not check if the pthread stuff works. | |
392 | If configure fails in the pthread library check , you might want to | |
393 | try this...(but then you will have really to "pray" that | |
394 | the check has been broken by some "unusual" conditions and the | |
395 | compilation will succeed). | |
396 | ||
397 | --x-includes=DIR | |
398 | Specifies explicitly the path to the X header files. | |
399 | You might want to use this if the configure script | |
400 | has trouble in finding it. | |
401 | ||
402 | --x-libraries=DIR | |
403 | Specifies explicitly the path to the X libraries. | |
404 | You might want to use this if the configure script | |
405 | has trouble in finding it. | |
406 | ||
407 | --with-qt-name=<NAME> | |
408 | Use <NAME> instead of "qt" as the Qt library name. | |
409 | This is useful on systems where Qt has been installed with | |
410 | a name different than the default "qt". | |
411 | It happens often that to allow multiple copies of qt to work | |
412 | the newest have the version name appended to it. | |
413 | For example, on FreeBSD I have found "qt" being Qt1.* and | |
414 | "qt2" being Qt 2.*. Since you need Qt 2.* for kvirc to work, | |
415 | you will need to use --with-qt-name=qt2. | |
416 | If you use this option, you will probably also need to remap | |
417 | the moc compiler path/name with --with-qt-moc. | |
418 | ||
419 | --disable-qt-mt | |
420 | Disable checking for the multithreaded version of Qt. | |
421 | By default , KVIrc will try to link to the multithreaded version | |
422 | if found on the system. | |
423 | NOTE: if you enable the KDE support , KVIrc MUST be linked to the | |
424 | qt library that KDE is linked to. | |
425 | ||
426 | --with-ix86-asm | |
427 | KVIrc contains some ix86 assembly routines that *could* | |
428 | performs some things faster (this is not always true, depends | |
429 | on the compiler). You might want to try it if your kvirc seems to | |
430 | be really slow... | |
431 | ||
432 | --without-ipv6-support | |
433 | The IPV6 support is compiled by default on the platforms that | |
434 | support it: this option disables it. | |
435 | Even if you have a plain IPV4-only connection, you might want to | |
436 | keep the IPV6 support: you will be able to lookup IPV6 hostnames. | |
437 | ||
438 | --without-system-memmove | |
439 | This will disable the use of the system memmove() memcpy() and | |
440 | memset() functions and enable the bundled implementations. Use | |
441 | it if you have undefined references to these functions while | |
442 | compiling. | |
443 | ||
444 | --with-ignore-sigalarm | |
445 | This is a hack mainly for Solaris. | |
446 | Use this option if kvirc exits with no apparent reason and | |
447 | the system prints a message related to an "Alarm" :) | |
448 | ||
449 | This is a mail that suggests an explaination for the SIGALARM fault. | |
450 | If you experience the problem please drop me a mail at pragma at kvirc dot net | |
451 | and we'll try to look for a solution. | |
452 | ||
453 | From: "Andre Stechert" (astechert at email dot com) | |
454 | Date: 26/7/2005 09:36 | |
455 | ||
456 | Hi, | |
457 | Â Â Â Â Â Â Â Â I noticed in your readme that you were having problems with sigalarm | |
458 | in your solaris port and you weren't sure why. Â I quickly scanned your | |
459 | source code and noticed that you use usleep and threads. Â That's the problem, | |
460 | if you haven't already figured it out. On Solaris, usleep is implemented with | |
461 | SIGALARM. So is threading. So if you the active thread changes while | |
462 | a usleep is in progress, bang, the process is dead. | |
463 | ||
464 | --without-crypt-support | |
465 | Disables the cryptographic engines and the whole | |
466 | cryptography/text-transformation support. Produces a slightly | |
467 | smaller executable. Anyway, if you don't know what the | |
468 | ctryptography/text-transformation | |
469 | support is ,I suggest you to avoid using this option. | |
470 | ||
471 | --enable-new-kvs | |
472 | Developers only! | |
473 | This enables the compilation of the new KVS parser, currently | |
474 | under heavy development. This will produce a bigger and possibly | |
475 | unstable executable: do not use if you don't know what you're doing. | |
476 | ||
477 | --enable-new-kvs-only | |
478 | Developers only! | |
479 | This hardwires the new KVS parser to be used as the main scripting | |
480 | engine in KVIrc. Be aware that the new KVS engine is NOT YET 100% COMPLETE | |
481 | so some scripts will simply fail. | |
482 | ||
483 | --without-transparency | |
484 | This option disables pseudo-transparency support. | |
485 | The pseudo transparency support makes the KVirc windows | |
486 | look like semi-transparent (this is NOT real transparency: this is | |
487 | just a nice-looking hack). | |
488 | If KDE support is enabled, KVirc will have an option that | |
489 | makes all windows use a faded KDE desktop background image | |
490 | as background. Without KDE support you will be able to choose | |
491 | a fake background image and use it as background. (You can still | |
492 | choose your desktop wallpaper: this will (more-or-less) work in | |
493 | all the window managers). | |
494 | It is cool-looking but usually eats some memory when enabled. | |
495 | It also eats some executable size. | |
496 | So this option allows to disable the pseudo-transparency. | |
497 | ||
498 | --with-solaris-lthread | |
499 | If you're on Solaris and don't have the pthread library (A wrapper | |
500 | I guess) you might try this option: it attempts to use the native | |
501 | Solaris threading support. | |
502 | ||
503 | --with-freebsd-pthread | |
504 | If you're on FreeBSD, you NEED this option. This enables the usage | |
505 | of the native FreeBSD pthread implementation found in libc_r. | |
506 | This requires you to use the native gcc compiler: it has a special | |
507 | -pthread flag that enables the linkage to libc_r instead | |
508 | of plain libc. | |
509 | ||
510 | --with-libresolv | |
511 | Link to libresolv. I guess that this is required for Solaris | |
512 | ||
513 | --with-libsocket | |
514 | Link to libsocket. I guess that this is required for Solaris | |
515 | ||
516 | --with-libnsl | |
517 | Link to libnsl. I guess that this is required for Solaris | |
518 | ||
519 | --with-libcompat | |
520 | Link to libcompat. This might be required for some systems... | |
521 | but I have no idea which ones. If you find it useful: mail me. | |
522 | ||
523 | --enable-fno-rtti | |
524 | Disables compiler runtime type information generation. | |
525 | This is probably needed only with qt-embedded. | |
526 | DON'T use it if you don't exactly know what it does. | |
527 | Actually this may even make KVIrc crash in some situations. | |
528 | For example the KDE sources use __dynamic_cast... | |
529 | ||
530 | --disable-x-support | |
531 | Disables completely the X Windows support. | |
532 | This is useful in environments where X is not needed to compile KVIrc | |
533 | such as Qt-Mac on MacOSX, QtEmbedded or Windows. | |
534 | This switch implies also --without-x-bell | |
535 | ||
536 | --without-x-bell | |
537 | Disables the usage of the XBell function (needed if you want to | |
538 | compile KVIrc with qt-embedded (no X at all)) | |
539 | This is implied by --disable-x-support | |
540 | ||
541 | --with-qt-embedded | |
542 | You need this to compile KVIrc with qt-embedded | |
543 | ||
544 | --without-ipc | |
545 | Disables support for inter-process communication. | |
546 | You will be not able to send remote commands to running | |
547 | kvirc sessions: this basically means that every time you run | |
548 | the kvirc executable , a new session will be started. | |
549 | If you don't use this switch, a new session will be started | |
550 | only if no session is running on the same display or | |
551 | "new session" has been forced by a commandline switch. | |
552 | If a session is already running, the commandline will be | |
553 | passed to that session via IPC (X-event-based communication). | |
554 | This option saves some KB of the KVIrc executable, | |
555 | so if you're really short in memory , you might use it, | |
556 | otherwise, IPC is a nice feature. | |
557 | ||
558 | --without-dyn-labels | |
559 | You should not need this option. | |
560 | It disables compilation of code that relies on a particular | |
561 | compiler feature (jumping to a dynamic label with a goto). | |
562 | Not all compilers support this , but configure shoud detect | |
563 | it automatically. Anyway , if you get compilation errors on | |
564 | kvi_ircview.cpp, you may try this option... | |
565 | This may also help if the configure script seems to hang | |
566 | when checking for the "compiler dynamic label support". | |
567 | ||
568 | --without-splash-screen | |
569 | Do not compile the splash screen code. | |
570 | This will remove you that nice "banner" image that pops up | |
571 | while kvirc is starting up. It will maybe help in making an | |
572 | executable smaller by a couple of KB and save a couple | |
573 | of extra milliseconds during the startup. Use it if you're | |
574 | tring to build a performance critical executable and you're | |
575 | short both in memory and CPU time :) | |
576 | ||
b3503766 STS |
577 | --without-gsm |
578 | Explicitly disable the usage of the GSM library. This will | |
579 | disable the DCC VOICE gsm codec but might help when the | |
580 | compilation stops complaining of something related to GSM :) | |
581 | ||
582 | --without-dcc-sound | |
583 | Explicitly disable the DCC VOICE sound support. This might help | |
584 | if you have problems in compilation of src/modules/dcc/voice.cpp. | |
585 | It will disable the sound support | |
586 | (and thus make DCC VOICE not usable). | |
587 | ||
588 | --disable-ssl | |
589 | Disables the secure socket layer support. The SSL support is | |
590 | automatically enabled if OpenSSL is detected at ./configure time. | |
591 | This option forces it to be left out. | |
592 | ||
593 | --with-memory-profile | |
594 | Debug stuff...enables memory allocation profiling (don't use it :) | |
595 | ||
596 | --with-memory-checks | |
597 | Enables malloc() memory checks. This will print a nice message | |
598 | if your system goes out of memory... | |
599 | It can't save you from buying new RAM, | |
600 | but at least you will know that your system went out of memory | |
601 | and it is not a proper kvirc fault. Actually you probably have | |
602 | no reason in using it. | |
603 | ||
604 | --with-big-channels | |
605 | Minor hash table optimisations: higher memory usage but | |
606 | faster user lookups. Use it if you often stay in channels with | |
607 | a lot of users. (this is not critical anyway) | |
608 | ||
609 | --enable-profiling | |
610 | Asks the compiler/linker to include profiling informations in the | |
611 | executable. This is useful only if you want to profile KVIrc by | |
612 | using the gprof program. Note that this will generate a bigger | |
613 | and slower executable. | |
614 | ||
615 | --disable-perl | |
616 | Forcibly disable perl support. | |
617 | ||
618 | So finally you have to run | |
619 | ||
620 | # ./configure <your options> | |
621 | ||
622 | For example , my common options are: | |
623 | ||
624 | # ./configure --enable-pipes --enable-debug | |
625 | ||
626 | On FreeBSD I have found useful this command line: | |
627 | ||
628 | # ./configure --with-qt-name=qt2 --with-qt-moc=/<PATH_HERE>/moc2 \ | |
629 | --with-freebsd-pthread | |
630 | ||
631 | Once the configure script ran succesfully you can go to the next step. | |
632 | ||
633 | ### | |
634 | ### Step 3 : Compiling (mandatory) | |
635 | ### | |
636 | ||
637 | This step is easy: | |
638 | Cross your fingers and run | |
639 | ||
640 | # make kvirc | |
641 | ||
642 | If your make is not a GNU make (this happens on FreeBSD for example) | |
643 | you should use "gmake" instead. | |
644 | The compilation process will take from 6-7 minutes to several hours | |
645 | depending on the machine capabilities and load. | |
646 | If you have a slow cpu but have a couple of computers in a lan you | |
647 | might consider using distcc to distribute the compilation. | |
648 | ||
649 | Once the compilation has been succesfull, run | |
650 | ||
651 | # make install | |
652 | ||
653 | Same as above: use "gmake install" if your make is not GNU make. | |
654 | ||
655 | This will install the executable in /usr/local/bin | |
656 | (if you don't have specified a different --prefix option in | |
657 | the configure script) , the libraries in /usr/local/lib | |
658 | and the shared data in /usr/local/share/kvirc. | |
659 | If you had a previous kvirc installation , the default prefix | |
660 | will be referring to the directory where the old kvirc | |
661 | executable was found. | |
662 | ||
663 | Make sure that /usr/local/lib is in your /etc/ld.so.conf , | |
664 | if it isn't there , put it there and run | |
665 | ||
666 | # ldconfig | |
667 | ||
668 | If you have decided to use the KDE support the installation | |
669 | might have placed all these files in your $KDEDIR tree | |
670 | instead of /usr/local. In this case you should be OK since | |
671 | KDE requires its library dir to be in /etc/ld.so.conf | |
672 | ||
673 | ### | |
674 | ### Step 4: Having fun | |
675 | ### | |
676 | ||
677 | # kvirc & | |
678 | ||
679 | That's all folks. | |
680 | ||
681 | ||
682 | ############################################################################### | |
683 | # 5. Compiling KVIrc on qt-embedded | |
684 | ############################################################################### | |
685 | ||
686 | Do you want KVIrc 3 on your hand computer ? | |
687 | On your Nokia 9999910 ? | |
688 | On your LINUX CONSOLE? | |
689 | ||
690 | Well, for the third it's really easy, just follow carefully those steps: | |
691 | ||
692 | 1. Install qt-embedded libraries (including the development files). | |
693 | This can be as easy as: apt-get install libqt-emb-dev on Debian. | |
694 | ||
695 | 2. cd to the KVIrc3 source directory | |
696 | ||
697 | 3. run configure with the following parameters: | |
698 | ||
699 | # ./configure --with-qt-name=qte --with-fno-rtti --without-x-calls | |
700 | --without-ipc --without-splash-screen --without-transparency | |
701 | --with-qt-embedded --without-x-bell | |
702 | ||
703 | then run make and make install as usual | |
704 | ||
705 | 4. Try to have a life for the next minutes while kvirc3 compiles | |
706 | ||
707 | 5. You need your kernel with framebuffer support (it's under 'Console') | |
708 | so if your kernel don't have it reconfigure and recompile your kernel. | |
709 | ||
710 | 6. switch to a console | |
711 | ||
712 | 7. export QTDIR=[path] On Debian is '/usr' | |
713 | ||
714 | 8. Read http://doc.trolltech.com/3.0/envvars.html and configure your | |
715 | environment vars until kvirc3-emb loads (it will give you an error | |
716 | indicating what went wrong else). Pay especial attention to | |
717 | QWS_MOUSE_PROTO, QWS_CARD_SLOT and QWS_DISPLAY | |
718 | ||
719 | 9. Enjoy :) | |
720 | ||
721 | ############################################################################### | |
722 | # 6. Compiling KVIrc on MacOSX | |
723 | ############################################################################### | |
724 | ||
725 | There is a detailed compilation and installation HOWTO for MacOSX systems | |
726 | located in the doc dorectory. | |
727 | ||
728 | ############################################################################### | |
729 | # 7. A note about Windows 95/98/ME | |
730 | ############################################################################### | |
731 | ||
732 | On Windows versions prior to 2000 the KVIrc binary may refuse to start | |
733 | because of an incompatible msvcrt.dll included in the distribution. | |
734 | ||
735 | If this happens to you then you may try the following tricks: | |
736 | ||
737 | - Find msvcrt.dll in your C:\Windows directory. It may also be | |
738 | in C:\Windows\System or C:\Windows\System32 | |
739 | Copy it to the KVIrc installation folder overwriting the existing | |
740 | msvcrt.dll shipped with kvirc. | |
741 | ||
742 | - Find msvcrt.dll somewhere on the net. An url hint might be: | |
743 | http://www.dll-files.com/dllindex/dll-files.shtml?msvcrt | |
744 | Download the file and copy it to the KVIrc installation folder | |
745 | overwriting the existing msvcrt.dll shipped with kvirc. | |
746 | ||
747 | If none of the two steps work for you please write a mail to | |
748 | pragma at kvirc dot net reporting your exact Windows version and build | |
749 | and including the exact messages that the system reports when trying | |
750 | to run the KVIrc executable. | |
751 | ||
752 | Thanx to Dusan Hokuv for reporting this and suggesting the fixes. | |
753 |