Важно: если вы планируете использовать 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
.
Вы можете связать RocksDB со следующими библиотеками сжатия:
Все наши инструменты зависят от: — 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
yum install gcc48-c++
.Примечание: после установки добавьте путь включения для 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 )