web-dev-qa-db-ja.com

Ruby CentOSにインストール

次のように、Centos-6.464ビットにRubyをインストールしようとしています:

mkdir /tmp/Ruby && cd /tmp/Ruby
curl --progress ftp://ftp.Ruby-lang.org/pub/Ruby/2.0/Ruby-2.0.0-p247.tar.gz | tar xz
cd Ruby-2.0.0-p247
./configure --disable-install-rdoc
make
Sudo make install

make中に、次のエラーが表示されます。

ossl_pkey_ec.c: In function ‘ossl_ec_group_initialize’:
ossl_pkey_ec.c:766: warning: implicit declaration of function ‘EC_GF2m_simple_method’
ossl_pkey_ec.c:766: warning: assignment makes pointer from integer without a cast
ossl_pkey_ec.c:821: error: ‘EC_GROUP_new_curve_GF2m’ undeclared (first use in this function)
ossl_pkey_ec.c:821: error: (Each undeclared identifier is reported only once
ossl_pkey_ec.c:821: error: for each function it appears in.)
make[2]: *** [ossl_pkey_ec.o] Error 1
make[2]: Leaving directory `/tmp/Ruby/ruby-2.0.0-p247/ext/openssl'
make[1]: *** [ext/openssl/all] Error 2
make[1]: Leaving directory `/tmp/Ruby/ruby-2.0.0-p247'
make: *** [build-ext] Error 2

この問題なしでCentOS6.5にすでにインストールしていますが、CentOS 6.4で必要になりました。この問題は、OpenSSLに関連しているようです。

1
MohyedeenN

P247以前のバージョンにあるRubyのOpenSSLAPIにバグが発生していると思います。私が提供するリンクはFedora固有のものですが、同じ問題がCentOSにも当てはまると思います。

ビルドする前に このパッチ を適用してみてください。詳細 ここ

4
phoops

ほとんどの場合、openssl-develのシステムライブラリと関連ヘッダーが必要です。これを試して:

yum install openssl-devel

そして、どういうわけかすべての依存関係をカバーしたい場合、これはうまくいくはずです:

yum install patch gcc-c++ make bzip2 autoconf automake libtool bison iconv-devel readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel

次に、Ruby-2.0.0-p247ディレクトリに戻り、make cleanを実行して、最初からやり直します。

Rubyをさまざまなシステムにインストールするための「落とし穴」についての詳細 ここにあります

2
JakeGould

依存関係をインストールした後、configureステップを再実行する必要があることに注意してください。 makeを再実行するだけでは、少なくともすべての場合では機能しません。

0
user1774051

openssl-develがインストールされています。コンパイル中の問題の90%は、開発パッケージの欠落です。

0