CMake Ошибка при компиляции facebook/mysql, связана с странным путем

Я пытаюсь создать Myrocks (facebook / mysql commit [a93e134]: https://github.com/facebook/mysql-5.6/commit/a93e134dbf399030887cafa5cd0f98921a226769) на CentOS6.3 Но мне не удалось с этим сообщением

-- Running cmake version 3.2.2

-- MySQL 5.6.35

-- Packaging as: mysql-5.6.35-Linux-x86_64

-- HAVE_VISIBILITY_HIDDEN

-- ZSTD_INCLUDE_DIR /home/chinyajie/local/usr/local/include

-- ZSTD_LIBRARY /home/chinyajie/local/usr/local/lib/libzstd.so

-- ZSTD_INCLUDE_DIR /home/chinyajie/local/usr/local/include

-- ZSTD_LIBRARY /home/chinyajie/local/usr/local/lib/libzstd.so

test:PATH_TO_ZSTDZSTD_SYSTEM_LIBRARY

-- OPENSSL_INCLUDE_DIR = /usr/include

-- OPENSSL_LIBRARY = /usr/lib64/libssl.so

-- CRYPTO_LIBRARY = /usr/lib64/libcrypto.so

-- OPENSSL_MAJOR_VERSION = 1

-- SSL_LIBRARIES = /usr/lib64/libssl.so;/usr/lib64/libcrypto.so;dl

-- Using cmake version 3.2.2

-- Not building NDB
-- Library fbmysqlclient depends on OSLIBS -lpthread;/home/chinyajie/local/usr/local/lib/libzstd.so;m;rt;/usr/lib64/libssl.so;/usr/lib64/libcrypto.so;dl

-- Googletest was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source.

-- If you are inside a firewall, you may need to use an https proxy: export https_proxy=http://example.com:80

CMake Error in storage/rocksdb/CMakeLists.txt:

Cannot find source file:

../../rocksdb/usr/bin/make64
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx

CMake Error in storage/rocksdb/CMakeLists.txt:
Cannot find source file:

../../rocksdb/MAC=64
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx

CMake Error in storage/rocksdb/CMakeLists.txt:
Cannot find source file:

../../rocksdb/--makefile
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx

CMake Error in storage/rocksdb/CMakeLists.txt:
Cannot find source file:

../../rocksdb/tmp/tmp.QgIOMFCBRt
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx

-- Library mysqlserver depends on OSLIBS -lpthread;/home/chinyajie/local/usr/local/lib/libzstd.so;m;rt;/usr/lib64/libssl.so;/usr/lib64/libcrypto.so;dl;crypt;-lrt

-- CMAKE_BUILD_TYPE: RelWithDebInfo

-- COMPILE_DEFINITIONS: HAVE_CONFIG_H;ZSTD;HAVE_ZSTD_COMPRESS

-- CMAKE_C_FLAGS: -Wall -Wextra -Wformat-security -Wwrite-strings -std=c99

-- CMAKE_CXX_FLAGS: -Wall -Wextra -Wformat-security -Woverloaded-virtual -Wno-unused-parameter -std=c++11 -I /home/chinyajie/local/usr/local/include -I /home/chinyajie/local/usr/local/include

-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF

-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF

-- Configuring incomplete, errors occurred!

For

Cannot find source file:

../../rocksdb/MAC=64

Эти пути были странными , И я пытаюсь использовать MESSAGE(), чтобы напечатать журнал в файловом хранилище /rocksdb/CMakeLists.txt Однако, казалось, что все команды были завершены до того, как произошла ошибка.

1 ответ

Проблема вызвана make. На моем компьютере, когда я запускаю /usr/bin/make, он печатает /usr/bin/make64 MAC=64. Все это собрано "COMMAND env -i ${CMAKE_SOURCE_DIR}/storage/rocksdb/get_rocksdb_files.sh". Таким образом, решение состоит в том, чтобы отредактировать get_rocksdb_files.sh, изменить марку, которую он будет использовать.

Другие вопросы по тегам