问题:一、CMake Error: The source directory "/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64" does not appear to contain CMakeLists.txt. 下面是我从crt里copy出来的 有必要说明一点,我用的系统是centos Linux localhost.zidonghua1 2.6.32-358.14.1.el6.x86_64 #1 SMP Tue Jul 16 23:51:20 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux =============================================================================== [root@Evil mysql-5.7.3-m13-linux-glibc2.5-x86_64]# cmake . CMake Error: The source directory "/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI. [root@Evil mysql-5.7.3-m13-linux-glibc2.5-x86_64]# pwd /opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64 在解决这个问题前,请允许我吐槽儿一番,我先是在google搜索和搜狗搜索上找了一下(百度基本不靠谱,经过确实,依然是不靠谱),没有一个可解决的方法,可能是我没找到,但确实没有,n多的回答是 你没有在mysql的安装目录里,pwd指令已经很清楚的说明了我就在mysql的目录中,可就是不行。后来我在mysql的官方网站上也没找到解决方法,最终我借助了“强大”的google翻译,把官网上的内容一个个的copy进google翻译里进行翻译,最终我解决了这个问题。吐槽到此结束吧。 首先要多说一下,大家一般去mysql的官方网站的时候,都会下载社区版,因为mysql被oracle收购后,除了社区版都需要付费。所有大家都会下载 mysql community server *.*.** 对吧,这里我就谈如何注册一个账号了,下载前会在 select platform:这里选择要下载的版本。linux - Generic 这个选项所有下载下来的包很大,而且还没法用,这里说明一下,也行是我不会用,不会装。 解决方法如下,上官网下载源码版本 https://downloads./archives/community/ 然后下载 再安装 总结一下,说那么多废话,终归,最可能你就是所下载的版本可能对,所带来的错误。 在此还强调一下,如果你的版本确认是正确的,但是还是出现问题,建议-yum卸载 yum remove cmake* 把camke卸载 从官网上下载cmake编译安装 #/bin/sh cd /usr/local/src/ wget http://wwwNaNake.org/files/v2.8/cmake-2.8.12.2.tar.gz tar zxvf cmake-2.8.12.2.tar.gz cd cmake-2.8.12.2 ./configure Make Make install 然后我有遇到另个问题。 make: *** 没有指明目标并且找不到 makefile。 停止。 我不可能没有装make,而且gcc、devel、libs等等我都有装。这个问题又是怎么回事呢? 其实是这样的 cmake成功了就会生成makefile,使用make的时候系统会在当前目录找makefile 如果cmake失败了呢,就不会有,但是你在编译貌似还不行,不得不说一下我的原因是因为 - Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Error at cmake/readline.cmake:83 (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:127 (FIND_CURSES) cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT) CMakeLists.txt:354 (MYSQL_CHECK_READLINE) -- Configuring incomplete, errors occurred! See also 原因就是 package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. 我少了ncurses (你可以用 yum install ncurses ncurses-devel ncurses-libs 来进行安装) 我当时有点拙急,我用的额方法是 yum install *ncurses* 其实一样的,这个不是问题,问题是make 还是报错! 解决方法如下 看见 CMakeCache.txt 了吗? 删掉它,然后重新使用 cmake 开始编译mysql rm -rf CMakeCache.txt =================================================================================== 写完这篇博文呢,我感觉自己有点二,也确实挺二的,能碰到这些问题,不应该为这些小问题纠结的 好了,就当在吐槽一句吧 下面我把 安装mysql的方式 给大家copy出来 /cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DINSTALL_DATADIR=/usr/local/mysql/data/master -DSYSCONFDIR=/usr/local/mysql/etc \ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DMYSQL_USER=mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock make && make install groupadd mysql shell> useradd -r -g mysql mysql useradd -g mysql mysql -s /bin/false chown -R mysql:mysql /usr/local/mysql mkdir /usr/local/mysql/etc shell> cd /usr/local/mysql shell> chown -R mysql . shell> chgrp -R mysql . shell> scripts/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R mysql data shell> bin/mysqld_safe --user=mysql & cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server cp support-files/my-default.cnf /usr/local/mysql/etc/my.cnf cp support-files/mysql.server /etc/init.d/mysqld-sh vi /usr/local/mysql/etc/my.cnf bind-address= socket = port = 3306 user = mysql vi /etc/init.d/mysqld-sh basedir= datadir mysqld_pid_file_path= chmod +x /etc/init.d/mysqld-sh /usr/local/mysql/scripts/mysql_install_db \ --defaults-extra-file=/usr/local/mysql/etc/my.cnf \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql \ --user=mysql /etc/init.d/mysqld-sh start /usr/local/mysql/bin/mysqladmin -u root password '你的密码' cp /usr/local/mysql/bin/mysql /bin/mysql 相关连接:http://blog.51cto.com/zhongyilin/1369361 |
|