簡體   English   中英

無法在Percona-XtraDB-Cluster上安裝mysql gem

[英]Can't install mysql gem on Percona-XtraDB-Cluster

我沒有看到有關此問題的主題,但是沒有一個解決了我的問題。

所以。 平台是CentOS 6.6。 我已經安裝了Percona-XtraDB-Cluster,他們的mysql-libs和他們的devel軟件包。 我也在那里有紅寶石2.0.0和紅寶石2.4.3。 現在,我正在嘗試安裝mysql gem。 我得到的是:

構建本機擴展。 這可能需要一段時間...錯誤:安裝mysql時出錯:錯誤:無法生成gem本機擴展。

/ opt / sensu / embedded / bin / ruby​​ -r ./siteconf20141114-16854-1fyrg9v.rb extconf.rb檢查mysql_ssl_set()... * extconf.rb失敗*由於某些原因而無法創建Makefile,可能是缺少必要的庫和/或標頭。 檢查mkmf.log文件以獲取更多詳細信息。 您可能需要配置選項。

提供的配置選項:--with-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib --without-opt-lib = $ {opt-dir} / lib --with-make-prog --without-make-prog --srcdir =。 --curdir --ruby = / opt / sensu / embedded / bin / ruby​​ --with-mysql-config --without-mysql-config /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb: 434:在try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:519:in try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:519:in try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:519:in try_link0'從/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:534:在try_link' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:720:in從/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:1004:in try_func” block in have_func' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:895:in中:在block (2 levels) in postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:310:in :在block (2 levels) in postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:310:in打開的塊中/mkmf.rb:340 block in postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:310:in打開狀態,在/opt/sensu/embedded/lib/ruby/2.0中.0 / mkmf.rb:336: postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:894:in in postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:894:in /opt/sensu/embedded/lib/ruby/2.0 .0 / mkmf.rb:1003:in have_func' from extconf.rb:45:in '

extconf失敗,退出代碼1

寶石文件將保留安裝在/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/mysql-2.9.1中以進行檢查。 結果記錄到/opt/sensu/embedded/lib/ruby/gems/2.0.0/extensions/x86_64-linux/2.0.0/mysql-2.9.1/gem_make.out

我在網上發現的任何描述的解決方案都無濟於事,因此,也許有人對此Percona群集,ruby-2.0.0和gem mysql-2.9.1有類似的問題。

看起來您需要帶SSL的Ruby gem MySQL開發庫:

嘗試以下每種方法:

yum install gcc

yum install mysql mysql-devel mysql-server

yum install openssl openssl-devel  

yum install ruby-devel

然后嘗試安裝較新的mysql2 gem:

 gem install mysql2 --version '>=0.3.17'

Sensu期望使用SSL,因此擁有SSL是一件好事。 Sensu文檔說:“可以在不使用SSL的情況下使用Sensu,但是強烈建議不要這樣做。以下說明使用一種工具來生成自簽名的OpenSSL證書”。 在此處閱讀有關如何啟用SSL的信息:

http://sensuapp.org/docs/latest/certificates#documentation

如果需要SSL,則可能要確保數據庫確實啟用了SSL:

> show variables like '%ssl%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl  | YES   |
| have_ssl      | YES   |
...

您在注釋中寫道,您無法安裝mysql-develmysql-server因為它們將與percona沖突。 我的猜測是錯誤是較舊的mysql gem和/或對SSL的需求。

如果您使用的是rvm ,它也可能導致此類故障。 您可能要嘗試ruby-install並安裝當前的ruby。 這可能會帶來您需要的依賴項。 如果需要,可以在自定義目錄中使用ruby-install ,如下所示:

 $ ruby-install ruby 2.1.5 --install-dir ~/foo/bar/

如果您使用sudo gem install ,它也可能導致本機gem出現故障。 您可能想嘗試成為root用戶,並使用實際的root環境和root ruby​​版本,並再次檢查ruby版本是否符合您的期望,如下所示:

 $ sudo su - 
 # which ruby
 # ruby --version
 # gem install mysql2 --version '>=0.3.17'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM