From e4ab423fe9c0e0873607ba0976259d45ec3727c7 Mon Sep 17 00:00:00 2001 From: l-n-s Date: Sun, 16 Oct 2016 09:34:21 +0000 Subject: [PATCH] Update build_notes_unix.md --- docs/build_notes_unix.md | 79 ++++++++++++++++++++-------------------- 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/docs/build_notes_unix.md b/docs/build_notes_unix.md index 547dd5b..6fae03c 100644 --- a/docs/build_notes_unix.md +++ b/docs/build_notes_unix.md @@ -1,17 +1,15 @@ Сборка на Unix системах ======================= -First of all we need to make sure that all dependencies are satisfied. - -This doc is trying to cover: -* [Debian/Ubuntu](#debianubuntu) (contains packaging instructions) +Этот документ описывает сборку на системах: +* [Debian/Ubuntu](#debianubuntu) (содержит инструкцию для сборки пакетов) * [Fedora/Centos](#fedoracentos) * [FreeBSD](#freebsd) -Make sure you have all required dependencies for your system successfully installed. +Убедитесь, что все зависимости в вашей системе удовлетворены. -If so then we are ready to go! -Let's clone the repository and start building the i2pd: +Если это так, то приступаем к сборке i2pd. +Клонируем репозиторий и собираем: ```bash git clone https://github.com/PurpleI2P/i2pd.git cd i2pd/build @@ -19,12 +17,12 @@ cmake -DCMAKE_BUILD_TYPE=Release # more options could be passed, see "CMake Opti make # you may add VERBOSE=1 to cmdline for debugging ``` -After successfull build i2pd could be installed with: +После сборки i2pd можно установить в систему следующей командой: ```bash make install ``` -or you can just use 'make' once you have all dependencies (boost and openssl) installed +Вы так же можете использовать упрощенный вариант сборки: ```bash git clone https://github.com/PurpleI2P/i2pd.git cd i2pd @@ -34,12 +32,12 @@ make Debian/Ubuntu ------------- -You will need a compiler and other tools that could be installed with `build-essential` package: +Устанавливаем компилятор и прочие программы для сборки: ```bash sudo apt-get install build-essential ``` -Also you will need a bunch of development libraries: +Устанавливаем библиотеки разработчиков для сборки: ```bash sudo apt-get install \ libboost-chrono-dev \ @@ -51,12 +49,12 @@ sudo apt-get install \ libssl-dev ``` -If you need UPnP support (don't forget to run CMake with `WITH_UPNP=ON`) miniupnpc development library should be installed: +Если нужна поддержка UPnP (не забудьте потом запустить CMake с параметром `WITH_UPNP=ON`): ```bash sudo apt-get install libminiupnpc-dev ``` -You may also build deb-package with the following: +Вы можете собрать пакет .deb следующим образом: ```bash sudo apt-get install fakeroot devscripts cd i2pd @@ -66,15 +64,15 @@ debuild --no-tgz-check Fedora/Centos ------------- -You will need a compiler and other tools to perform a build: +Устанавливаем компилятор и прочие программы для сборки: ```bash sudo yum install make cmake gcc gcc-c++ ``` -*Latest Fedora system using [DNF](https://en.wikipedia.org/wiki/DNF_(software)) instead of YUM by default, you may prefer to use DNF, but YUM should be ok* +*В новых версиях Fedora используется [DNF](https://en.wikipedia.org/wiki/DNF_(software)) вместо YUM by по-умолчанию, можете использовать его* -> *Centos 7 has CMake 2.8.11 in the official repositories that too old to build i2pd, CMake >=2.8.12 is required* -> You could build CMake for Centos manualy(WARNING there are a lot of build dependencies!): +> *В Centos 7 есть только CMake 2.8.11 в официальных репозиториях, это слишком старая версия для i2pd. Нужен CMake версии 2.8.12 или новее* +> Вы можете собрать CMake для Centos вручную (ВНИМАНИЕ, там много зависимостей для сборки): > ```bash > wget https://kojipkgs.fedoraproject.org/packages/cmake/2.8.12/3.fc21/src/cmake-2.8.12-3.fc21.src.rpm > yum-builddep cmake-2.8.12-3.fc21.src.rpm @@ -82,26 +80,27 @@ sudo yum install make cmake gcc gcc-c++ > yum install ~/rpmbuild/RPMS/x86_64/cmake-2.8.12-3.el7.centos.x86_64.rpm > ``` -Also you will need a bunch of development libraries +Устанавливаем библиотеки разработчиков для сборки: ```bash sudo yum install boost-devel openssl-devel ``` -If you need UPnP support (don't forget to run CMake with `WITH_UPNP=ON`) miniupnpc development library should be installed: +Если нужна поддержка UPnP (не забудьте потом запустить CMake с параметром `WITH_UPNP=ON`): ```bash -miniupnpc-devel +sudo yum install miniupnpc-devel ``` MAC OS X -------- -Requires homebrew +Необходим homebrew. +Устанавливаем библиотеки разработчиков для сборки: ```bash brew install libressl boost ``` -Then build: +Собираем: ```bash make HOMEBREW=1 ``` @@ -110,38 +109,38 @@ make HOMEBREW=1 FreeBSD ------- -For 10.X use clang. You would also need boost and openssl ports. -Type gmake, it invokes Makefile.bsd, make necessary changes there is required. +Для 10.X используйте clang. Вам так же понабятся порты boost и openssl. +Запустите gmake, он прочитает Makefile.bsd и сделает необходимые изменения. -Branch 9.X has gcc v4.2, that knows nothing about required c++11 standart. +Ветка 9.X использует gcc v4.2 который не поддерживает необходимый стандарт c++11. -Required ports: +Необходимые порты: * `devel/cmake` * `devel/boost-libs` -* `lang/gcc47`(or later version) +* `lang/gcc47`(или более новые версии) -To use newer compiler you should set these variables(replace "47" with your actual gcc version): +Чтобы использовать более новый компилятор, установите следующие переменные (замените "47" своей версией gcc): ```bash export CC=/usr/local/bin/gcc47 export CXX=/usr/local/bin/g++47 ``` -CMake Options -------------- +Опции CMake +----------- -Available CMake options(each option has a form of `=`, for more information see `man 1 cmake`): +Доступные опции CMake (подробности смотрите в `man 1 cmake`): -* `CMAKE_BUILD_TYPE` build profile (Debug/Release) -* `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_AESNI` build with AES-NI support (ON/OFF) -* `WITH_HARDENING` enable hardening features (ON/OFF) (gcc only) -* `WITH_PCH` use pre-compiled header (experimental, speeds up build) +* `CMAKE_BUILD_TYPE` профиль сборки, отладочный или релиз (Debug/Release) +* `WITH_BINARY` сборка самого i2pd +* `WITH_LIBRARY` сборка библиотеки libi2pd +* `WITH_STATIC` сборка статических версий библиотеки и самого i2pd +* `WITH_UPNP` сборка с поддержкой UPnP (нужна библиотека libupnp) +* `WITH_AESNI` сборка с поддержкой AES-NI (ON/OFF) +* `WITH_HARDENING` включить Hardending (ON/OFF) (только с gcc) +* `WITH_PCH` использовать pre-compiled header (экспериментально, ускоряет процесс сборки) -Also there is `-L` flag for CMake that could be used to list current cached options: +Так же у CMake есть -L флаг, который показывает список текущих установленных опций: ```bash cmake -L ```