0

希望有人能为我阐明这个问题。我正在使用 rvm 在 RHEL 6 x86_64 中构建 ruby​​ 32 位。按照本指南(忽略了与 Mac 相关的内容),我跑了

rvm_archflags="-arch i386" CFLAGS="-arch i386" LDFLAGS="-arch i386" rvm install 1.9.2

我收到这样的错误:

Error running './configure --disable-install-doc --prefix=/home/deploy/.rvm/rubies/ruby-1.8.7-p371 --enable-shared'

尝试原始方法:rvm install 1.8.7 --32并得到了这个:

'env MACOSX_DEPLOYMENT_TARGET= CFLAGS=-O3 -arch i386 -g -Os -pipe -no-cpp-precomp CCFLAGS=-arch i386 -g -Os -pipe CXXFLAGS=-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 --enable-共享'

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

非常感谢

4

1 回答 1

1

在 32 位编译需要使用-m32linux 上的选项。该-arch i386选项是特定于 Mac 的。

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

于 2013-01-30T23:34:06.483 回答