在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel."错误,如下所示
[root@DB-Server mysql-5.6.23]# cmake ./ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
.........................
-- Check size of wctype_t
-- Check size of wctype_t - done
-- Check size of wint_t
-- Check size of wint_t - done
-- 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)
按照错误提示,Debian/Ubuntu下需要安装libncurses5-dev;Redhat下需要安装ncurses-devel ,检查是否安装了ncurses包,如下所示,已经安装了ncurses-5.5-24.20060715,但是缺少ncurses-devel包。
[root@DB-Server Server]# rpm -qa | grep ncursesncurses-5.5-24.20060715ncurses-5.5-24.20060715[root@DB-Server Server]# ls ncurses*ncurses-5.5-24.20060715.i386.rpm ncurses-devel-5.5-24.20060715.i386.rpmncurses-5.5-24.20060715.x86_64.rpm ncurses-devel-5.5-24.20060715.x86_64.rpm[root@DB-Server Server]# rpm -ivh ncurses-devel-5.5-24.20060715.x86_64.rpmwarning: ncurses-devel-5.5-24.20060715.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186Preparing... ########################################### [100%]1:ncurses-devel ########################################### [100%][root@DB-Server Server]#
安装了ncurses-devel包后,删除CMakeCache.txt,然后重新编译,编译成功,问题解决!
[root@DB-Server mysql-5.6.23]# rm CMakeCache.txtrm: remove regular file `CMakeCache.txt'? yes[root@DB-Server mysql-5.6.23]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1