Ruby on rails 什么';这是在64位RedHat Linux上从源代码编译Ruby的最佳方法

Ruby on rails 什么';这是在64位RedHat Linux上从源代码编译Ruby的最佳方法,ruby-on-rails,ruby,linux,64-bit,makefile,Ruby On Rails,Ruby,Linux,64 Bit,Makefile,在RedHat Enterprise Linux 5上,通过RPM提供的最新Ruby版本为1.8.5。我的Rails应用程序需要1.8.6或更高版本,所以我需要从源代码编译Ruby 我已经尝试了下面的方法来构建它,它看起来还可以,但是当我尝试运行一个需要RubyLine的插件时,我看到了gcc编译错误 从源代码构建适合运行Rails应用程序的Ruby似乎缺乏合适的文档 我是这样编译Ruby的: ./configure --prefix=/usr --with-openssl-include=/u

在RedHat Enterprise Linux 5上,通过RPM提供的最新Ruby版本为1.8.5。我的Rails应用程序需要1.8.6或更高版本,所以我需要从源代码编译Ruby

我已经尝试了下面的方法来构建它,它看起来还可以,但是当我尝试运行一个需要RubyLine的插件时,我看到了gcc编译错误

从源代码构建适合运行Rails应用程序的Ruby似乎缺乏合适的文档

我是这样编译Ruby的:

./configure --prefix=/usr --with-openssl-include=/usr/include/openssl --with-openssl-lib=/usr/lib64/openssl/engines
make
sudo make install
我想知道在64位系统上构建这个系统是否需要特定的编译标志。我看到的实际错误是

 error executing "gcc -shared   -fPIC -g -O2   -I /usr/lib/ruby/1.8/x86_64-linux  -I /usr/include -L/usr/lib -o \"/home/deploy/.ruby_inline/Inline_ImageScience_aa58.so\" \"/home/deploy/.ruby_inline/Inline_ImageScience_aa58.c\" -lfreeimage -lstdc++ ":

任何建议都将不胜感激

最好的方法可能是从Fedora“偷”一个Ruby 1.8.6 RPM。第二个最好的方法是从Fedora那里偷一个Ruby 1.8.6 SRPM,然后自己构建

但是,您可以做一件事:将
--disable pthread
标志添加到
configure
行,并删除
--enable pthread
(如果有)
--enable pthread
使MRI速度显著降低,并且仅当您想使用Ruby/Tk并且系统的Tk库是用
--enable pthread

构建的时才需要它(包括SRPM)


无法对此处添加的正确答案发表评论-编辑可以随意整理。

由于您引用的错误消息对查明问题没有帮助,因此它是否会提供更多错误消息?您不应该将-m64传递给gcc吗?