cmake mysql编译错误_[mysql]编译安装报错CMake Error: your C compiler: "CMAKE_C_COMPILE

在尝试使用cmake编译MySQL时遇到多个错误,包括缺失的依赖包如git、gcc、gcc-c++、ncurses-devel、bison。通过yum安装相关包并清除CMakeCache.txt文件可以解决这些问题。在编译过程中还可能遇到OPENSSL_INCLUDE_DIR、Curses库和Bison解析器的缺失,同样需要安装相应软件包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错大致都是缺少依赖包,安装这些就差不多了

yum install -y git gcc gcc-c++ ncurses-devel bison

cd mysql-5.6.27

cmake .

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/mysql/data

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DWITH_EXTRA_CHARSETS:STRING=all

-DWITH_DEBUG=0  -DENABLED_LOCAL_INFILE=1

-- Running cmake version 2.8.12.2

-- Could NOT find Git (missing:  GIT_EXECUTABLE)

-- The C compiler identification is unknown

-- The CXX compiler identification is unknown

CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.

CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.

CMake Error at cmake/os/Linux.cmake:27 (STRING):

string sub-command REPLACE requires at least four arguments.

Call Stack (most recent call first):

CMakeLists.txt:149 (INCLUDE)

CMake Error at cmake/os/Linux.cmake:27 (STRING):

string sub-command REPLACE requires at least four arguments.

Call Stack (most recent call first):

CMakeLists.txt:149 (INCLUDE)

-- MySQL 5.6.27

-- Packaging as: mysql-5.6.27-Linux-i686

-- Could NOT find Threads (missing:  Threads_FOUND)

-- Could NOT find Threads (missing:  Threads_FOUND)

-- Check if the system is big endian

-- Searching 16 bit integer

CMake Error at /usr/share/cmake/Modules/TestBigEndian.cmake:44 (message):

no suitable type found

Call Stack (most recent call first):

configure.cmake:628 (TEST_BIG_ENDIAN)

CMakeLists.txt:398 (INCLUDE)

-- Configuring incomplete, errors occurred!

See also "/usr/local/src/mysql-5.6.27/CMakeFiles/CMakeOutput.log".

See also "/usr/local/src/mysql-5.6.27/CMakeFiles/CMakeError.log".

分析:

-- Could NOT find Git (missing:  GIT_EXECUTABLE)这项应该缺少git包,yum install -y git

-- The C compiler identification is unknown

-- The CXX compiler identification is unknown 这两项缺少gcc和gcc-c++的包,yum install -y gcc gcc-c++

另外需要rm CMakeCache.txt

继续

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1出现错误:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

Please set them or make sure they are set and tested correctly in the CMake files:

OPENSSL_INCLUDE_DIR

used as include directory in directory /usr/local/src/mysql-5.6.27/CMakeFiles/CMakeTmp

CMake Error: Internal CMake error, TryCompile configure of cmake failed

-- Check size of wchar_t - failed

-- Check size of wctype_t

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

Please set them or make sure they are set and tested correctly in the CMake files:

OPENSSL_INCLUDE_DIR

used as include directory in directory /usr/local/src/mysql-5.6.27/CMakeFiles/CMakeTmp

CMake Error: Internal CMake error, TryCompile configure of cmake failed

-- Check size of wctype_t - failed

-- Check size of wint_t

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

Please set them or make sure they are set and tested correctly in the CMake files:

OPENSSL_INCLUDE_DIR

used as include directory in directory /usr/local/src/mysql-5.6.27/CMakeFiles/CMakeTmp

CMake Error: Internal CMake error, TryCompile configure of cmake failed

-- Check size of wint_t - failed

-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:85 (MESSAGE):

Curses library not found.  Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

Call Stack (most recent call first):

cmake/readline.cmake:128 (FIND_CURSES)

cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)

CMakeLists.txt:409 (MYSQL_CHECK_EDITLINE)

-- Configuring incomplete, errors occurred!

See also "/usr/local/src/mysql-5.6.27/CMakeFiles/CMakeOutput.log".

See also "/usr/local/src/mysql-5.6.27/CMakeFiles/CMakeError.log".

分析:

-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)

缺少ncurses-devel包,yum install -y ncurses-devel

rm CMakeCache.txt

重新

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0  -DENABLED_LOCAL_INFILE=1出现warning:

-- Running cmake version 2.8.12.2

-- MySQL 5.6.27

-- Packaging as: mysql-5.6.27-Linux-x86_64

-- HAVE_VISIBILITY_HIDDEN

-- HAVE_VISIBILITY_HIDDEN

-- HAVE_VISIBILITY_HIDDEN

-- Using cmake version 2.8.12.2

-- Not building NDB

-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl

Warning: Bison executable not found in PATH

-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl

-- CMAKE_BUILD_TYPE: RelWithDebInfo

-- COMPILE_DEFINITIONS: HAVE_CONFIG_H

-- CMAKE_C_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement

-- CMAKE_CXX_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter

-- 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 done

-- Generating done

-- Build files have been written to: /usr/local/src/mysql-5.6.27

分析:Warning: Bison executable not found in PATH  缺少Bison,yum install -y bison

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0  -DENABLED_LOCAL_INFILE=1echo $? 是0代表OK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值