Compile Kiwix
These are the instructions to compile Kiwix. The source code is on:
- svn: https://kiwix.svn.sourceforge.net/svnroot/kiwix
- download: https://sourceforge.net/projects/kiwix/files/kiwix-0.9-beta1-src.tar.bz2/download
GNU/Linux
GNU/Linux build uses shared libraries by default. You will need the following dependencies to compile Kiwix for Linux Debian/Ubuntu packages: build-essential autoconf automake libtool libicu-dev libclucene-dev libxapian-dev libmicrohttpd-dev liblzma-dev xulrunner-dev zlib1g-dev libssl-dev
- ./autogen.sh to generate the ./configure file if not already done.
- ./configure to prepare the compilation and check if all necessary libraries are installed. You may get more information by running ./configure --help
- make to compile kiwix
- make install to install it on the system
Mac OSX (i386 only for now)
Mac OS build is close to the Linux one but it compile everything statically. [warning] To build the Mac OS version you will have to install proprietary software which are free of charge.
- You will also need to build on an Apple Mac computer.
- Install OSX 10.6.5+ (proprietary)
- Install XCode 3.2.5+ (proprietary) -
- Install XulRunner
- Install MacPorts - http://www.macports.org/install.php
- Configure Macports
- Install the following tools and libraries
sudo port install autogen +universal sudo port install pkgconfig +universal sudo port install wget +universal sudo port install gmake +universal sudo port install coreutils +universal sudo port install libidl +universal sudo port install autoconf213 +universal sudo port install icu +universal
- short-circuit libtoolize which is a different tool on OSX.
sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize
- set default target architecture by replacing gcc and g++ files
sudo mv /usr/bin/gcc /usr/bin/gcc.default
sudo mv /usr/bin/g++ /usr/bin/g++.default
sudo echo "/usr/bin/gcc-4.2 -arch i386 -m32 \"$@\"" > /usr/bin/gcc
sudo echo "/usr/bin/g++-4.2 -arch i386 -m32 \"$@\"" > /usr/bin/g++
sudo chmod +x /usr/bin/g{cc,++}
Alternatively, you can choose to prepend CFLAGS=" -arch i386 -m32" CXXFLAGS=" -arch i386 -m32" to the configure command.
- ./autogen.sh to generate the ./configure script.
- ./configure --prefix=/opt/local
- to prepare the compilation and check if all
- necessary libraries are installed. You may get more information by
- running ./configure --help
- /opt/local is the path where you installed MacPorts (/opt/local is default)
- make in src/dependences to fetch dependencies.
- re-do ./configure script so it knows about new dependencies.
- make to compile kiwix
- make distmac to generate a complete dmg archive.
- Debugging tips:
- components file type can be either Mach-O dynamically linked shared library
- or Mach-O bundle but above instructions will create dynamic libraries.
- Shared Object (.so files on Linux) have .dylib extension on OSX. - use dtruss to inspect program execution like strace.
Windows
- You have to install a MinGW environnement. You have to download it here: "http://download.kiwix.org/dev/MozillaBuildSetup-1.4.exe" and install it in the default proposed directory "C:\mozilla-build".
- Go to "c:\mozilla-build" with the Windows explorer and start the script start-msvc9.bat. You have now an UNIX shell.
- Change the current directory by typing:
> cd /c/mozilla-build/
- Check out the kiwix client code by typing:
svn co https://kiwix.svn.sourceforge.net/svnroot/kiwix/moulinkiwix
- You need to install Perl. Download it here: "http://download.kiwix.org/dev/ActivePerl-5.10.1.1007-MSWin32-x86-291969.msi" and install it in the default directory "c:\Perl\"
- You need now to install the free (as free beer) Microsoft Visual Studio express C++ compiler. You can download the installer here: "http://download.kiwix.org/dev/vcsetup.exe"
- To install it, run the self installer. Choose none of the optional features and install it in the default directory: "c:\Program Files\Microsft Visual Studio 9.0\"
- If installed sucessfuly run one time VS to configure it and maybe register it (follow the instructions).
- You have also to install gcc (for liblzma). You can download it here:
- "http://download.kiwix.org/dev/gcc-4.3.0-20080502-mingw32-alpha-bin.7z"
- ... and unzip it (with 7zip) in "c:\mozilla-build\msys"
- You have also to install GNU binutils. Please download it here:
- "http://download.kiwix.org/dev/binutils-2.20.1-2-mingw32-bin.tar.gz"
- ... and detar it in "c:\mozilla-build\msys"
- Now we will download, configurate and compile kiwix.
- Run the following commands:
> cd /c/mozilla-build/moulinkiwix/ > ./autogen.sh > ./configure > make win

