1. ホーム
  2. データベース

CMakeのエラーを解決する。ソースディレクトリ "*" には、CMakeLists.txt が含まれていないようです。

2022-02-26 23:19:07
こんにちは皆さん、私は中Yilin、mysqlの昨日のインストールは、いくつかの問題が発生した、今私は問題の解決策を書き出すと、あなたと共有するつもり、今回私はスクリーンショットされません、我々は一緒に見て、次のとおりです。

問題:I. CMakeエラー。ソースディレクトリ"/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64"は、CMakeLists.txtを含まないようだ。

ここで重要なのは、私が使用しているのは 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 エラー。The source directory "/opt/mysql-5.7.3-m13-linux-glibc2.5-x86_64" does not appear to contain CMakeLists.txt.The source directory "ソースディレクトリにCMakeLists.txtが含まれていません。

使い方は --help を指定するか、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検索とsogou検索(Baiduは、確かに、まだ信頼性の低い後、基本的に信頼できない)で見て、解決可能な方法はありませんが、私は見つけなかったかもしれないが、本当にない、n個のより多くの答えはあなたがmysqlインストールディレクトリにない、pwdコマンドが非常に私はmysqlのディレクトリにいることが明確になっている、それだけで働いていませんでした。その後、私はmysqlの公式サイトで解決策を見つけられず、最終的に私は"強力"google翻訳を使用して、公式サイトの内容を一つずつgoogle翻訳にコピーして翻訳し、最終的に私は問題を解決しました。これでスピール終了です。


まず最初に、もっと言っておきたいのは、人々が通常mysqlの公式サイトに行くとき、彼らはコミュニティ版をダウンロードすることになります。私たちのすべては、Mysqlのコミュニティサーバをダウンロードします。*. ** このような場合、"MySQL "は "Community "と呼ばれます。


解決策は以下のとおりで、やはり http://dev.mysql.com/downloads/mysql/*。*heml#downloads このページ(ここでこのページを開くことができません*. *はダウンロードしたいバージョン番号です)で、プラットフォーム選択でソースコードを選択します。



次に、ダウンロードとインストールを行います。


結論から言うと、あれだけ無意味なことをやっておいて、結局、一番可能性が高いのは、エラーによってもたらされた、正しいかもしれないバージョンをダウンロードした人なんです。

また、バージョンが正しいことが確認され、それでも問題がある場合は、-yumをアンインストールすることをお勧めします。

yum remove cmake*でcamkeをアンインストールし、公式サイトからcmakeをダウンロードしてコンパイル・インストールします。


#/bin/sh

cd /usr/local/src/

ウィジェット 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

作る

インストール


それから、もうひとつ問題がありました。

を作成します。*** ターゲットが指定されておらず、makefile も見つかりませんでした。停止してください。

makeがインストールされていないなんてありえないし、gcc, devel, libsなどはインストールされているのですが。何がいけないのでしょうか?

cmakeは成功するとmakefileを生成し、makeを使用すると、システムはカレントディレクトリにあるmakefileを探します。

cmakeが失敗しても、コンパイルするときにうまくいかないようで、私の場合は、その理由が

- Curses が見つかりませんでした (MISSING: CURSES_LIBRARY CURSES_INCLUDE_PATH)

cmake/readline.cmake:83 (MESSAGE) で CMake Error が発生しました。

 Curses ライブラリが見つかりませんでした。適切なパッケージをインストールしてください。


     CMakeCache.txtを削除して、cmakeを再実行します。Debian/Ubuntuの場合、パッケージ名はlibncurses5-dev、Redhatやその派生版ではncurses-develです。

コールスタック(最新のコールから)。

 cmake/readline.cmake:127 (FIND_CURSES)

 cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT)

 CMakeLists.txt:354 (MYSQL_CHECK_READLINE)



-- Configuring incomplete, errors occurred!

以下もご参照ください。


その理由は

パッケージ名は libncurses5-dev ですが、Redhat およびその派生版では ncurses-devel になります。

ncursesが足りない(yum install ncursesでncurses ncurses-devel ncurses-libsをインストールできます)。

ちょっと急いでいたので、私が使った方法はyum install *ncurses*で、実は同じです。問題ないのですが、問題はmakeがまだエラーを報告していることです!


解決方法は以下の通りです。

CMakeCache.txtをご覧ください。それを削除して、cmake を使って再度 mysql をコンパイルしてください。

rm -rf CMakeCache.txt


===================================================================================


このブログ記事を書いた後、このような問題に出くわすのは、ちょっと二流、いや、かなり二流のような気がして、こんな小さな問題で悩んでいてはいけません

まあ、暴論といえば暴論ですが


以下は、mysqlのインストールをコピーした方法です。


/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DINSTALL_DATADIR=/usr/local/mysql/data/master -DSYSCONFDIR=/usr/local/mysql/etc \?

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



グループ追加 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 .

シェル> chgrp -R mysql .

shell> scripts/mysql_install_db --user=mysql

shell> chown -R root .

シェル> 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=

 ソケット =

 ポート = 3306

 ユーザー = mysql



vi /etc/init.d/mysqld-sh

 ベースライン

 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 スタート


/usr/local/mysql/bin/mysqladmin -u root password 'あなたのパスワード'


cp /usr/local/mysql/bin/mysql /bin/mysql



取得元:https://blog.51cto.com/zhongyilin/1369361