解決CMake Error: The source directory "*" does not appear to contain CMakeLists.txt.

Hi 你們好,我是鍾義林,昨兒個安裝mysql,遇到了幾個問題,如今打算把問題的解決方法寫出來,和你們分享一下,此次我就不截圖了,下面你們一塊兒看一下mysql

問題:1、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出來的linux

有必要說明一點,我用的系統是centossql

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

===============================================================================centos

[root@Evil mysql-5.7.3-m13-linux-glibc2.5-x86_64]# cmake .oracle

CMake Error: The source directory "/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64" does not appear to contain CMakeLists.txt.app

Specify --help for usage, or press the help button on the CMake GUI.socket

[root@Evil mysql-5.7.3-m13-linux-glibc2.5-x86_64]# pwd網站

/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64google


在解決這個問題前,請容許我吐槽兒一番,我先是在google搜索和搜狗搜索上找了一下(百度基本不靠譜,通過確實,依然是不靠譜),沒有一個可解決的方法,多是我沒找到,但確實沒有,n多的回答是 你沒有在mysql的安裝目錄裏,pwd指令已經很清楚的說明了我就在mysql的目錄中,可就是不行。後來我在mysql的官方網站上也沒找到解決方法,最終我藉助了「強大」的google翻譯,把官網上的內容一個個的copy進google翻譯裏進行翻譯,最終我解決了這個問題。吐槽到此結束吧。


首先要多說一下,你們通常去mysql的官方網站的時候,都會下載社區版,由於mysql被oracle收購後,除了社區版都須要付費。全部你們都會下載 mysql community server *.*.** 對吧,這裏我就談如何註冊一個帳號了,下載前會在 select platform:這裏選擇要下載的版本。linux - Generic 這個選項全部下載下來的包很大,並且還無法用,這裏說明一下,也行是我不會用,不會裝。


解決方法以下,還在http://dev.mysql.com/downloads/mysql/*.*heml#downloads 這個網頁中(我這這個網頁打不開哦*.*是你要下載的版本號) 在select platform 裏選擇 source code


wKiom1MYNtPAngoeAAEvc7-iqVw085.jpg


而後下載 再安裝


總結一下,說那麼多廢話,終歸,最可能你就是所下載的版本可能對,所帶來的錯誤。

在此還強調一下,若是你的版本確認是正確的,可是仍是出現問題,建議-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 仍是報錯!


解決方法以下

wKioL1MYPI_Ayw96AAFSsJF4bhk077.jpg

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

相關文章
相關標籤/搜索