Lion系统上32位Ruby编译失败,如何解决这个棘手问题?

2026-04-11 17:471阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计465个文字,预计阅读时间需要2分钟。

Lion系统上32位Ruby编译失败,如何解决这个棘手问题?

我正在尝试在Lion上安装32位版本的Ruby以便与Oracle协作。但无法建立安装,得到了以下错误信息:linking minirubyi686-apple-darwin11-gcc-4.2.1: i386: No such file or directorymake: *** [miniruby] Error 1

我正在尝试在Lion上安装32位版本的 Ruby,以便我可以与Oracle合作.但是我无法建立它.

对于1.9.3-p0,这是我得到的:

linking miniruby i686-apple-darwin11-gcc-4.2.1: i386: No such file or directory make: *** [miniruby] Error 1

我的构建变量如下:

CC = /usr/bin/gcc-4.2 LD = ld LDSHARED = /usr/bin/gcc-4.2 -dynamic -bundle CFLAGS = -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -arch i386 -pipe XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I. -I.ext/include/i386-darwin11.2.0 -I./include -I. DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -arch i386 SOLIBS =

我使用以下配置:

./configure --with-arch=i386 --prefix=/Users/fenris/.rbenv/versions/32-bit

任何帮助,将不胜感激.

自己使用rvm但是也尝试了rbenv并为我工作:

RBENV编译32位ruby-1.9.3-p0

!在执行此操作之前安装libyaml可能是必要的

安装libyaml

wget pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz tar -xzf yaml-0.1.4.tar.gz cd yaml-0.1.4 ./configure --prefix=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit make make install

安装ruby

Lion系统上32位Ruby编译失败,如何解决这个棘手问题?

cd wget ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz tar -xzf ruby-1.9.3-p0.tar.gz cd ruby-1.9.3-p0 autoconf ./configure --disable-pthread --with-opt-dir=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit --with-arch=i386 --prefix=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit make make install

RVM编译32位ruby-1.9.3-p0

export rvm_archflags='-arch i386' export rvm_architectures='i386' export rvm_configure_flags=--target=i686-apple-darwin11 rvm install ruby-1.9.3-p0 --32 --patch osx-arch-fix -n i386

验证您运行的是32位ruby

$irb ['foo'].pack('p').size // should return 8 on 64bit and 4 on 32bit.

本文共计465个文字,预计阅读时间需要2分钟。

Lion系统上32位Ruby编译失败,如何解决这个棘手问题?

我正在尝试在Lion上安装32位版本的Ruby以便与Oracle协作。但无法建立安装,得到了以下错误信息:linking minirubyi686-apple-darwin11-gcc-4.2.1: i386: No such file or directorymake: *** [miniruby] Error 1

我正在尝试在Lion上安装32位版本的 Ruby,以便我可以与Oracle合作.但是我无法建立它.

对于1.9.3-p0,这是我得到的:

linking miniruby i686-apple-darwin11-gcc-4.2.1: i386: No such file or directory make: *** [miniruby] Error 1

我的构建变量如下:

CC = /usr/bin/gcc-4.2 LD = ld LDSHARED = /usr/bin/gcc-4.2 -dynamic -bundle CFLAGS = -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -arch i386 -pipe XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I. -I.ext/include/i386-darwin11.2.0 -I./include -I. DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -arch i386 SOLIBS =

我使用以下配置:

./configure --with-arch=i386 --prefix=/Users/fenris/.rbenv/versions/32-bit

任何帮助,将不胜感激.

自己使用rvm但是也尝试了rbenv并为我工作:

RBENV编译32位ruby-1.9.3-p0

!在执行此操作之前安装libyaml可能是必要的

安装libyaml

wget pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz tar -xzf yaml-0.1.4.tar.gz cd yaml-0.1.4 ./configure --prefix=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit make make install

安装ruby

Lion系统上32位Ruby编译失败,如何解决这个棘手问题?

cd wget ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz tar -xzf ruby-1.9.3-p0.tar.gz cd ruby-1.9.3-p0 autoconf ./configure --disable-pthread --with-opt-dir=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit --with-arch=i386 --prefix=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit make make install

RVM编译32位ruby-1.9.3-p0

export rvm_archflags='-arch i386' export rvm_architectures='i386' export rvm_configure_flags=--target=i686-apple-darwin11 rvm install ruby-1.9.3-p0 --32 --patch osx-arch-fix -n i386

验证您运行的是32位ruby

$irb ['foo'].pack('p').size // should return 8 on 64bit and 4 on 32bit.