我正在尝试在 Centos-6.4 64 位上安装 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
我已经在 CentOS 6.5 上安装了它,没有这个问题,现在我需要在 CentOS 6.4 上使用它,这个问题似乎与 OpenSSL 有关。
答案1
答案2
您很可能需要来自 的系统库和相关标头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 的“陷阱”的更多详细信息可以在这里找到。
答案3
检查是否openssl-devel
已安装。编译期间 90% 的问题都是缺少开发包。
答案4
值得一提的是,安装完任何依赖项后,您需要重新运行 configure 步骤。简单地重新运行 make 是行不通的,至少不是在所有情况下都是如此。