2014-11-14 4 views
1

이 문제에 대한 주제는 거의 없었지만 그 중 아무 것도 내 문제를 해결하지 못했습니다.Percona-XtraDB-Cluster에 mysql gem을 설치할 수 없습니다.

So. 플랫폼은 CentOS 6.6입니다. Percona-XtraDB-Cluster, mysql-libs 및 devel 패키지를 설치했습니다. 또한 거기에 루비 2.0.0과 루비 젬 2.4.3이 있습니다. 이제 MySQL gem을 설치하려고합니다. 무엇 나는 점점 오전 :

Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension.

/opt/sensu/embedded/bin/ruby -r ./siteconf20141114-16854-1fyrg9v.rb extconf.rb checking for mysql_ssl_set()... * extconf.rb failed * Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.

Provided configuration options: --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: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' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:534:in try_link' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:720:in try_func' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:1004:in block in have_func' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:895:in block in checking_for' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:340:in block (2 levels) in postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:310:in open' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:340:in block in postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:310:in open' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:336:in postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:894:in checking_for' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:1003:in have_func' from extconf.rb:45:in '

extconf failed, exit code 1

Gem files will remain installed in /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/mysql-2.9.1 for inspection. Results logged to /opt/sensu/embedded/lib/ruby/gems/2.0.0/extensions/x86_64-linux/2.0.0/mysql-2.9.1/gem_make.out

내가 나에게 도움이되지 않았다 웹에서 발견, 그래서 어쩌면 누군가가이 Percona 클러스터와 루비 2.0.0과 보석 mysql- 비슷한 문제가 있었다 기술 솔루션의 모든

을 시도해보십시오 이들 각각 : 당신은 SSL과 함께 루비 보석 MySQL을위한 개발 라이브러리를 필요로 같은 2.9.1

답변

1

이 보이는

yum install gcc 

yum install mysql mysql-devel mysql-server 

yum install openssl openssl-devel 

yum install ruby-devel 

그런새로운를 설치하십시오보석 :

gem install mysql2 --version '>=0.3.17' 

Sensu는 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 보석 및/또는 SSL에 대한 필요성입니다.

rvm을 사용하는 경우 이러한 종류의 글리치가 발생할 수도 있습니다. ruby-install을 시도하고 현재 루비를 설치하려고 할 수 있습니다. 이로 인해 필요한 종속성이 생길 수 있습니다. 당신이 원하는 경우에, 당신은 다음과 같이 정의 디렉토리에 ruby-install를 사용할 수 있습니다

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

당신이 sudo gem install를 사용하는 경우, 또한 천연 보석에 대한 고장을 일으킬 수 있습니다. 당신은 루트가되고, 실제 루트 환경, 루트 루비 버전을 사용 해보고 싶어하고, 루비 버전이이 같은 기대는 것을 다시 확인 할 수있다 : 나는 mysql을 - (STABLE) 설치할 수 없습니다

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

mysql-server와 같은 구성 요소는 percona 패키지와 충돌합니다. 또한 SSL은 사용할 수 없지만 어떻게 보석과 관련이있을 수 있습니까? 현재로서는 MySql에 액세스하기위한 스크립트를 실행하지 않습니다. 나는 단지 보석을 설치하고 싶다. 또한, mysql을 설치하려고 할 때 -이 문자열을 잘못 읽었습니다 : mysql_ssl_set() ... *** extconf.rb를 확인하지 못했습니다 ***; 그리고 mysql2 - this : ruby ​​/ thread.h에 대한 점검 ... *** extconf.rb 실패 *** –

+0

THank가 많이 있습니다. gcc 설치만으로도 문제가 해결되었습니다! –