- Notifications
You must be signed in to change notification settings - Fork27
[ARCHIVED] Legacy Kiwix desktop solution for Windows/macOS/Linux
License
kiwix/kiwix-xulrunner
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Kiwix is an offline reader for Web content. It's especially thought tomake Wikipedia available offline. This is done by reading the contentof the project stored in a file format ZIM, a high compressed openformat with additional meta-data.
Take care, the paragraphs are about thetarget platforms. If youwant to build Kiwix for Android on a GNU/Linux system, you shouldfollow the instructions of the "Android" paragraph.
Install pre-requisties in your distro, eg, in Debian based:
sudo apt-get install zip pkg-config aptitudesudo apt-get install libmagic-devsudo aptitude install libtool automake
Kiwix uses shared libraries only. A static build of Kiwix is a buildwhich packages the dependencies. Command line tools (indexer, server,etc) are compiled statically.
./autogen.sh
./configure --enable-compileall --enable-staticbins --disable-android;
cd src/dependencies;make;cd ../..;
./configure --enable-compileall --enable-staticbins --disable-android;
make;
make diststatic
If you want to be able to run directly from your dev repository copythe "xulrunner" directory in the distributation tarball to the"kiwix" sub-directory of your developement tree.
Don't try to install with "make install", if you want to have kiwixinstall on your system just copy the directory in a /usr/local/bindirectory.
GNU/Linux build uses shared libraries by default. You will need thefollowing dependencies (also -dev packages) to compile Kiwix for Linux(this list can vary a little bit depending of the GNU/Linuxdistribution):
- g++
- gcc
- autoconf
- automake
- libtool
- pkg-config
- liblzma
- libicu
- libmicrohttpd
- zlib
- libcrypto++
- cmake
- wget
- aria2
- libuuid
- libssl
- libzim
- libpugixml
- libctpp2
- xulrunner
Debian is the only distribution providing natively all thesepackages. Ubuntu provides most of them, excluding xulrunner andzimlib. You will have to download and install them separatly or runconfigure --with-static-dep=SELF. Then run the following commands:
./autogen.sh;
Configure the compilation check --help for options. Most dependencies accept --with-dep=XX and with-static-dep=XX.a. Static version of libraries are used for building static binaries (server, indexer, etc) Use --with-dep=SELF or --with-static-dep=SELF to trigger fetch and build for the dependency.
./configure;
make;
sudo make install;
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 Java
- Install MacPorts -http://www.macports.org/install.php
Install the following tools and libraries
sudo port install autogen +universal pkgconfig +universal wget +universal gmake +universal coreutils +universal libidl +universal autoconf213 +universal icu +universal;
NOTE: the following commands seem to work better on OS X Yosemite, apparently 'universal' is less relevant and various packages are no longer available as universal options.
sudo port install autogen pkgconfig wget gmake coreutils libidl autoconf213 icu;sudo port -v install aclocal automake libtool autoconf cmake imagemagick./autogen.sh alt && ./configure --enable-compileall;cd src/dependencies && make;make clean;./autogen.sh alt && ./configure --enable-compileall --enable-compileall --disable-dependency-tracking --with-target-arch=i386;make;make distmac;make clean;./autogen.sh alt && ./configure --enable-compileall --enable-compileall --disable-dependency-tracking --with-target-arch=x86_64;make;make distmac;make universal;
- components file type can be either Mach-O dynamically linked shared libraryor 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.
- dyldinfo -lazy_bind | dyldinfo -bind components/zimAccessor.dylib |grep zim
- nm -gm components/zimAccessor.dylib | nm -u | nm -g
- otool -L libzim.dylib
- install_name_tool -change @executable_path/../libicuuc.dylib libicuuc.dylib kiwix-serve
- lldb
Look at android/README
Install Windows XP SP2+
Install Visual Studio Express 2010
Install 7-zip
Install MozillaBuild 1.6
Install ActivePerl
Install Ruby
Install NSIS 2.46
Install nsis_locate
Install nsis_uac
Replace installed UAC.dll by new one.
Install all software in default locations.
Change your Windows PATH environment variable:
- 7zip
- NSIS
- ruby
- Perl
- mozilla-build\msys\bin\
Get shell from c:\mozilla-build\start-msvc10.bat
mkdir -p /c/slave/windows-32bgit clone git://git.code.sf.net/p/kiwix/kiwix kiwixcd kiwix./autogen.sh alt./configure --disable-indexer --enable-jarmake winmake windistmake wininstaller
Email:kiwix-developer@lists.sourceforge.net orcontact@kiwix.org
Jabber:kelson@kiwix.org
IRC: #kiwix on irc.freenode.net
You can use IRC web interface onhttp://chat.kiwix.org/
More...http://www.kiwix.org/wiki/Communication
Read 'COPYING' file
About
[ARCHIVED] Legacy Kiwix desktop solution for Windows/macOS/Linux