Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在RHEL 6(x86_64 arch)中使用rvm构建32位ruby_Ruby On Rails_Ruby_Linux_Redhat_Rhel - Fatal编程技术网

Ruby on rails 在RHEL 6(x86_64 arch)中使用rvm构建32位ruby

Ruby on rails 在RHEL 6(x86_64 arch)中使用rvm构建32位ruby,ruby-on-rails,ruby,linux,redhat,rhel,Ruby On Rails,Ruby,Linux,Redhat,Rhel,希望有人能为我解释一下这个问题。我正在使用rvm在RHEL 6 x86_64中构建ruby 32位。接着(忽略Mac相关的东西),我跑了 rvm_archflags=“-arch i386”CFLAGS=“-arch i386”LDFLAGS=“-arch i386” rvm安装1.9.2 我得到一个类似这样的错误: Error running './configure --disable-install-doc --prefix=/home/deploy/.rvm/rubies/ruby-1.

希望有人能为我解释一下这个问题。我正在使用rvm在RHEL 6 x86_64中构建ruby 32位。接着(忽略Mac相关的东西),我跑了

rvm_archflags=“-arch i386”CFLAGS=“-arch i386”LDFLAGS=“-arch i386” rvm安装1.9.2

我得到一个类似这样的错误:

Error running './configure --disable-install-doc --prefix=/home/deploy/.rvm/rubies/ruby-1.8.7-p371 --enable-shared'
尝试最初的方法:
rvm安装1.8.7--32
,得到以下结果:

'env MACOSX_DEPLOYMENT_TARGET=CFLAGS=-O3-arch i386-g-Os-pipe -无cpp预编译CCFLAGS=-arch i386-g-Os-pipe cxflags=-arch i386-g-Os-pipe LDFLAGS=-arch i386-bind_at_load LDSHARED=cc-arch i386-dynamiclib-undefined suppress-flat_namespace./configure--disable install doc-prefix=/home/deploy/.rvm/rubies/ruby-1.8.7-p371--启用共享

查看config.log,它说C编译器无法创建可执行文件。从错误的外观来看,我猜它与目标机器(Mac而不是RHEL)不匹配。我不太明白为什么,因为gcc肯定是为x86_64 Red Hat linux构建的。有人能在这个问题上给我一个提示吗


非常感谢,32位编译需要在linux上使用
-m32
选项。
-arch i386
选项是Mac特定的


当然,您将需要全套32位开发库。

是的,您的标志是正确的。看起来我没有32位的库。你知道如何通过yum安装它们吗?我做了搜索,结果都是针对x86_64或i686的。这是我第一次使用RHEL.i686,在本文中与i386具有相同的含义,因此您应该安装i686版本。真正的问题是,为什么不构建64位?部署到32位系统?除非您依赖的是32位版本,否则您应该在64位版本中构建Thank@Petesh,因为RHEL 6在其标准中没有任何32位库(这就是为什么yum repo不显示任何i386 libs)。它们基本上没有官方支持。我只是想把操作系统向后移植到版本5。更安全的路线。你的问题的答案是因为我使用的是Oracle DB,Oracle ruby gem是32位兼容的,因此只需要32位ruby。superuser中的答案说明了如何使32位软件包可用-当然,这将是一个二进制软件包,会造成麻烦