2015-11-30 09:57:24 +03:00
|
|
|
Requirements
|
|
|
|
============
|
|
|
|
|
|
|
|
Linux/FreeBSD/OSX
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
GCC 4.6 or newer, Boost 1.46 or newer, openssl, zlib. Clang can be used instead of GCC.
|
|
|
|
|
|
|
|
Windows
|
|
|
|
-------
|
|
|
|
|
|
|
|
VS2013 (known to work with 12.0.21005.1 or newer), Boost 1.46 or newer,
|
|
|
|
crypto++ 5.62. See Win32/README-Build.txt for instructions on how to build i2pd
|
|
|
|
and its dependencies.
|
|
|
|
|
2014-09-17 09:12:05 +04:00
|
|
|
Build notes
|
|
|
|
===========
|
|
|
|
|
2015-11-30 09:57:50 +03:00
|
|
|
Common build/install process from sources:
|
2014-09-17 09:12:05 +04:00
|
|
|
|
2015-11-25 08:50:46 +03:00
|
|
|
* git clone https://github.com/PurpleI2P/i2pd.git
|
2015-11-30 09:57:50 +03:00
|
|
|
* mkdir -p 'i2pd/build/tmp' && cd 'i2pd/build/tmp'
|
|
|
|
* cmake -DCMAKE_BUILD_TYPE=Release <more options> ..
|
2014-10-20 11:52:45 +04:00
|
|
|
* make
|
|
|
|
* make install
|
2014-09-17 09:12:05 +04:00
|
|
|
|
|
|
|
Available cmake options:
|
|
|
|
|
|
|
|
* CMAKE_BUILD_TYPE -- build profile (Debug/Release)
|
|
|
|
* WITH_AESNI -- AES-NI support (ON/OFF)
|
|
|
|
* WITH_HARDENING -- enable hardening features (ON/OFF) (gcc only)
|
2015-11-30 09:57:50 +03:00
|
|
|
* WITH_BINARY -- build i2pd itself
|
|
|
|
* WITH_LIBRARY -- build libi2pd
|
|
|
|
* WITH_STATIC -- build static versions of library and i2pd binary
|
|
|
|
* WITH_UPNP -- build with UPnP support (requires libupnp)
|
|
|
|
* WITH_PCH -- use pre-compiled header (experimental, speeds up build)
|
2014-09-17 09:12:05 +04:00
|
|
|
|
2015-11-30 10:06:59 +03:00
|
|
|
Debian/Ubuntu
|
|
|
|
-------------
|
2014-09-17 09:12:05 +04:00
|
|
|
|
2015-11-30 09:57:50 +03:00
|
|
|
For building from source on debian system you will need the following "-dev" packages:
|
2015-11-25 08:50:46 +03:00
|
|
|
|
2015-11-30 09:57:50 +03:00
|
|
|
* libboost-chrono-dev
|
|
|
|
* libboost-date-time-dev
|
2014-09-17 09:12:05 +04:00
|
|
|
* libboost-filesystem-dev
|
|
|
|
* libboost-program-options-dev
|
|
|
|
* libboost-regex-dev
|
|
|
|
* libboost-system-dev
|
2015-11-30 09:57:50 +03:00
|
|
|
* libboost-thread-dev
|
|
|
|
* libssl-dev (e.g. openssl)
|
|
|
|
* zlib1g-dev (libssl-dev already depends on it)
|
|
|
|
* libminiupnpc-dev (optional, if WITH_UPNP=ON)
|
2014-09-17 09:12:05 +04:00
|
|
|
|
2015-11-30 10:06:59 +03:00
|
|
|
You may also build deb-package with the following:
|
|
|
|
|
|
|
|
apt-get install build-essential fakeroot devscripts
|
|
|
|
cd i2pd
|
|
|
|
debuild --no-tgz-check # building from git repo
|
|
|
|
|
2014-09-17 09:12:05 +04:00
|
|
|
FreeBSD
|
|
|
|
-------
|
|
|
|
|
|
|
|
Branch 9.X has gcc v4.2, that knows nothing about required c++11 standart.
|
|
|
|
|
|
|
|
Required ports:
|
|
|
|
|
|
|
|
* devel/cmake
|
|
|
|
* devel/boost-libs
|
|
|
|
* lang/gcc47 # or later version
|
|
|
|
|
|
|
|
To use newer compiler you should set these variables:
|
|
|
|
|
2015-11-25 08:50:46 +03:00
|
|
|
export CC=/usr/local/bin/gcc47
|
|
|
|
export CXX=/usr/local/bin/g++47
|
2014-09-17 09:12:05 +04:00
|
|
|
|
|
|
|
Replace "47" with your actual gcc version
|
|
|
|
|
|
|
|
Branch 10.X has more reliable clang version, that can finally build i2pd,
|
|
|
|
but i still recommend to use gcc, otherwise you will fight it's bugs by
|
|
|
|
your own.
|