【发布时间】:2011-10-15 12:58:37
【问题描述】:
我在尝试 ./configure && make && make 在 CentOS 64 位中将 ruby 1.9.2 安装为 32 位软件包时遇到了麻烦。无论我如何配置和构建它,它似乎总是以 64 位包的形式出现。
我尝试使用 CFLAGS="-m32" LDFLAGS="-m32" CXXFLAGS="-m32" 和 —target=i686-unknown-linux-gnu 选项运行 ./configure 命令。最后一个选项更改了生成的 ruby 命令中显示的体系结构,但它仍然是 64 位。
我还尝试安装 rvm,然后使用他们在故障排除 docs 中推荐的标志安装 ruby 1.9.2。
我也在尝试 ./configure && make 在我拥有的 32 位 CentOS 安装中,然后将其复制到我的 64 位安装中,然后运行 make install。我不知道这是否可行。
一天多来我一直在互联网上寻找帮助,但在 Google 上似乎找不到太多信息。似乎我没有找到运行 ./configure && make && make install 时要设置的神奇选项组合。
如果您需要更多信息,请告诉我,我很乐意提供。感谢您的帮助。
编辑:查看了我在互联网上的资源并重新阅读了this,特别是某人关于如何使用搜索命令将 Ruby 编译为 32 位的说明。我使用 yum 安装 setarch,然后按照这些指示进行操作 - 仍然没有运气。 Ruby 仍在编译为 64 位。
【问题讨论】:
-
除非 Ruby 所需的所有支持库也是 32 位的,否则这样做可能会遇到很多麻烦。
-
@tadman 如果不是 Ruby 需要的所有库都是 32 位的,有没有办法强制 gcc 出错?我假设这仍在构建过程中。
-
通常,如果找不到合适的库,链接器会放弃,尽管错误消息本身似乎暗示库不存在,而实际上它只是 not 类型。
标签: ruby 32bit-64bit centos5