8,236
edits
(Redirecting to Compilation/en) |
|||
Line 1: | Line 1: | ||
{{translations}} | |||
These are the instructions to compile Kiwix. The source code is on: | |||
* svn: https://kiwix.svn.sourceforge.net/svnroot/kiwix | |||
* download: http://download.kiwix.org/src/ | |||
== 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) - | |||
::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: | |||
<source lang="bash"> | |||
./autogen.sh | |||
./configure | |||
make | |||
</source> | |||
On [http://fedoraproject.org/ Fedora], the compilation is a little bit more complicated. You have to: | |||
<source lang="bash"> | |||
./autogen.sh | |||
./configure --with-xpidl=/usr/lib/xulrunner-`pkg-config --modversion libxul`/ --with-gecko-idl=/usr/lib/xulrunner-sdk-`pkg-config --modversion libxul`/sdk/idl | |||
make | |||
</source><noinclude> | |||
== See also == | |||
* [[Kiwix-serve]] | |||
* [[Subversion]] | |||
* [[Translation]] | |||
* [[PPA]] | |||
</noinclude> | |||
[[Category:Developer's Guide]] |
edits