Важно: если вы планируете использовать RocksDB в рабочей среде, не компилируйте с помощью команд make
или make all
. Это скомпилирует RocksDB в режиме отладки, который намного медленнее, чем режим выпуска.
Библиотека RocksDB должна компилироваться без установленных зависимостей, хотя мы рекомендуем установить некоторые библиотеки сжатия (см. ниже). Мы зависим от более новых версий gcc/clang с поддержкой C++11.
Есть несколько вариантов компиляции RocksDB:
[рекомендуется] make static_lib
скомпилирует librocksdb.a, статическую библиотеку RocksDB. Компилирует статическую библиотеку в режиме выпуска.
make shared_lib
скомпилирует librocksdb.so, разделяемую библиотеку RocksDB. Компилирует разделяемую библиотеку в режиме выпуска.
make check
скомпилирует и запустит все модульные тесты. make check
компилирует RocksDB в режиме отладки.
make all
скомпилирует нашу статическую библиотеку и все наши инструменты и модульные тесты. Наши инструменты зависят от gflags. Вам нужно будет установить gflags для запуска make all
. Это компилирует RocksDB в режиме отладки. Не используйте двоичные файлы, скомпилированные с помощью make all
, в рабочей среде.
По умолчанию создаваемый нами двоичный файл оптимизирован для платформы, на которой вы компилируете (-march=native
или эквивалент). SSE4.2 будет автоматически включён, если ваш процессор поддерживает его. Чтобы выводить предупреждение, если ваш ЦП не поддерживает SSE4.2, соберите с USE_SSE=1 make static_lib
, или, если используете CMake, cmake -DFORCE_SSE42=ON
. Если вы хотите создать переносимый двоичный файл, добавьте PORTABLE=1
перед командами make, например так: PORTABLE=1 make static_lib
.
Все наши инструменты зависят от:
— gflags — библиотеки, которая обрабатывает обработку флагов командной строки. Вы можете скомпилировать библиотеку rocksdb, даже если у вас не установлен gflags.
Если вы хотите собрать статический целевой объект RocksJava, то для сборки Snappy требуется cmake.
Linux — Ubuntu
sudo apt-get install libgflags-dev
. Если это не сработает и вы используете Ubuntu, вот хороший учебник: (http://askubuntu.com/questions/312173/installing-gflags-12-04).sudo apt-get install libsnappy-dev
.sudo apt-get install zlib1g-dev
.sudo apt-get install libbz2-dev
.sudo apt-get install liblz4-dev
.sudo apt-get install libzstd-dev
.Linux — CentOS / RHEL
Обновите свой gcc до версии не менее 4.8, чтобы получить поддержку C++11:
yum install gcc48-c++
.
Установите gflags:
git clone https://github.com/gflags/gflags.git
cd gflags
git checkout v2.0
./configure && make && sudo make install
Примечание: после установки добавьте путь включения для gflags в вашу переменную среды CPATH
и путь к библиотеке в LIBRARY_PATH
. Если установлено с настройками по умолчанию, путь включения будет /usr/local/include
, а путь к библиотеке будет /usr/local/lib
.
Установите snappy:
sudo yum install snappy snappy-devel
Установите zlib:
sudo yum install zlib zlib-devel
Установите bzip2:
sudo yum install bzip2 bzip2-devel
Установите lz4:
sudo yum install lz4-devel
Установите ASAN (необязательно для отладки):
sudo yum install libasan
Установите zstandard:
wget https://github.com/facebook/zstd/archive/v1.1.3.tar.gz
mv v1.1.3.tar.gz zstd-1.1.3.tar.gz
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )