[mysql]編譯安裝報錯CMake Error: your C compiler: "CMAKE_C_COMPILE

報錯大體都是缺乏依賴包,安裝這些就差很少了html

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

 

 

 

 

cd mysql-5.6.27linux

 

cmake . c++

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql git

-DMYSQL_DATADIR=/mysql/data sql

-DDEFAULT_CHARSET=utf8  app

-DDEFAULT_COLLATION=utf8_general_ci ide

-DWITH_EXTRA_CHARSETS:STRING=all sqlserver

-DWITH_DEBUG=0  -DENABLED_LOCAL_INFILE=1ui


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

 


經過閱讀官方文件http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html,去除選項-DWITH_READLINE=1和-DWITH_SSL=YES

 


從新

 

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=1
echo $? 是0表明OK

  

本文出自 「echo xiayun」 博客,請務必保留此出處http://linuxerxy.blog.51cto.com/10707334/1728571

相關文章
相關標籤/搜索