|
|
Line 1: |
Line 1: |
| {{translations}}
| | These are the '''instructions to download and compile Kiwix source code'''. |
|
| |
|
| These are the instructions to compile Kiwix. The source code is on:
| | == Get the code == |
| * svn: https://kiwix.svn.sourceforge.net/svnroot/kiwix
| |
| * download: http://download.kiwix.org/src/
| |
|
| |
|
| | The source code of Kiwix is available: |
| | * Directly from the source code repository: https://sourceforge.net/p/kiwix/kiwix/ |
| | * As a tarball: http://download.kiwix.org/src/ |
|
| |
|
| == GNU/Linux == | | == Dependencies == |
| | Kiwix relies on many open source libraries to compile. If it does not compile this probably means one of these library is not available. Check the configure log file. |
|
| |
|
| 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
| | == Compilation == |
| | |
| * ./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) -
| |
| ::http://developer.apple.com/technologies/xcode.html (requires registration)
| |
| ::http://download.kiwix.org/dev/xcode_3.2.5_and_ios_sdk_4.2_final.dmg
| |
| * Install XulRunner
| |
| ::http://download.kiwix.org/dev/xulrunner-1.9.2.13.en-US.mac-pkg.dmg
| |
| * 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 FilesMicrosft 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-buildmsys"
| |
| | |
| * 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-buildmsys"
| |
| | |
| * Now we will download, configurate and compile kiwix.
| |
| ::Run the following commands:
| |
| > cd /c/mozilla-build/moulinkiwix/
| |
| > ./autogen.sh
| |
| > ./configure
| |
| > make win
| |
| | |
| The compilation is standard.
| |
| | |
| Please follow these steps:
| |
|
| |
|
| | The compilation on UNIX (GNU/Linux) follows the GNU autotools procedure: |
| <source lang="bash"> | | <source lang="bash"> |
| ./autogen.sh | | ./autogen.sh |
Line 118: |
Line 26: |
| make | | make |
| </source><noinclude> | | </source><noinclude> |
| | |
| | On Apple Mac OSX and Microsoft Windows, the compilation is far more complicated. Please have a look to the COMPILE file in Kiwix source directory. |
| | |
| | == Other == |
| | The kiwix project provides also many additional tools. You may have a look to other code repositories at [http//code.kiwix.org here]. |
|
| |
|
| == See also == | | == See also == |
| * [[Kiwix-serve]] | | * [[Development]] |
| * [[Translation]]
| |
| * [[PPA]]
| |
| </noinclude>
| |
| | |
| [[Category:Developer's Guide]]
| |