【问题标题】:Need help installing Ruby 1.9.2 on Mac OSX 10.7需要帮助在 Mac OSX 10.7 上安装 Ruby 1.9.2
【发布时间】:2011-08-21 03:57:37
【问题描述】:

我已经在这个问题上苦苦挣扎了大约 10 个小时。我真的希望这里有人可以提供帮助。我可能已经在这个网站和许多其他网站上查看了所有可能的解决方案。

我正在关注 ruby​​.railstutorial.org 教程。我现在是安装 ruby​​ 1.8.7 和 1.9.2 的部分。当我运行rvm install 1.9.2 时,我得到:

下面是我的 make.log 中的错误。如果还有什么可以告诉我的,请告诉我。

Installing Ruby from source to: /Users/user/.rvm/rubies/ruby-1.9.2-p290, this may take a while depending on your cpu(s)...

ruby-1.9.2-p290 - #fetching 
ruby-1.9.2-p290 - #extracted to /Users/user/.rvm/src/ruby-1.9.2-p290 (already extracted)
Fetching yaml-0.1.4.tar.gz to /Users/user/.rvm/archives
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  460k  100  460k    0     0   394k      0  0:00:01  0:00:01 --:--:--  601k
Extracting yaml-0.1.4.tar.gz to /Users/user/.rvm/src
Configuring yaml in /Users/user/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/user/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/user/.rvm/usr
ruby-1.9.2-p290 - #configuring 
ruby-1.9.2-p290 - #compiling 
ERROR: Error running 'make ', please read /Users/user/.rvm/log/ruby-1.9.2-p290/make.log
ERROR: There has been an error while running make. Halting the installation.

这是make.log中的内容:

/usr/bin/gcc-4.2 -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe -L.  -Wl,-u,_objc_msgSend   main.o dmydln.o dmyencoding.o dmyversion.o miniprelude.o array.o bignum.o class.o compar.o complex.o dir.o dln_find.o enum.o enumerator.o error.o eval.o load.o proc.o file.o gc.o hash.o inits.o io.o marshal.o math.o node.o numeric.o object.o pack.o parse.o process.o random.o range.o rational.o re.o regcomp.o regenc.o regerror.o regexec.o regparse.o regsyntax.o ruby.o safe.o signal.o sprintf.o st.o strftime.o string.o struct.o time.o transcode.o util.o variable.o compile.o debug.o iseq.o vm.o vm_dump.o thread.o cont.o ascii.o us_ascii.o unicode.o utf_8.o newline.o  dmyext.o -lpthread -ldl -lobjc  -o miniruby
ld: warning: ignoring file dmyext.o, file was built for i386 which is not the architecture being linked (x86_64)
Undefined symbols for architecture x86_64:
  "_Init_ext", referenced from:
      _require_libraries in ruby.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [miniruby] Error 1

这是我的.bash_profile

env CC="/usr/bin/gcc-4.2" ARCHFLAGS="-arch x86_64" ARCHS="x86_64" $*
export CC=/usr/bin/gcc-4.2
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
[[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm"  # This loads RVM into a shell session.

【问题讨论】:

  • 伙计们,这是一个关于安装软件开发工具的问题,是 Stack Overflow 的主题。

标签: ruby macos rvm osx-lion


【解决方案1】:

由于从您的日志文件来看,dmyext.o 似乎不是上一个构建过程的一部分,因此它可能是早期(失败)构建的遗留物。为了确保你开始干净:

  1. rm -rf ~/.rvm
  2. 重新安装 rvm
  3. env ARCHFLAGS="-arch x86_64" rvm install 1.9.2

编辑

正如 James 所指出的,将其添加到您的 .rvmrc

export rvm_archflags="-arch x86_64"

【讨论】:

    【解决方案2】:

    试试:

    env ARCHFLAGS="-arch x86_64" rvm install 1.9.2
    

    【讨论】:

    • 不,那也没用。这提醒我我应该包括我的 .bash_profile。我会在上面添加。
    • @isea - 我还要确保从头开始:rm -rf ~/.rvm/src/ruby-1.9.2-p290 以确保没有旧的对象文件被闲置。
    • 试试:export rvm_archflags="-arch x86_64" && source ~/.bash_profile && rvm install 1.9.2
    • 是的..他之前构建了很多次(可能缺少/旧的 xcode)。我很确定这是问题所在。
    • 我什至会去 rm -rf ~/.rvm 并从头开始一切以确保(即再次安装 rvm),因为我不确定 rvm 将构建的目标文件放在哪里。
    猜你喜欢
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    相关资源
    最近更新 更多