1

私はそれをこのようにインストールしようとしていました:

brew install autoconf brew install automake brew install libyaml rvm installruby-head

rvmを使用してruby2をインストールしようとしましたが、次のエラーが発生しました。

ruby-head-#compiling Error running'make'、read / Users / boti / .rvm / log / ruby​​-head /make.logmakeの実行中にエラーが発生しました。インストールを停止します。Rubyの「ruby-head」はclangを使用してビルドされましたが、(完全に)サポートされていないため、エラーが発生する可能性があります。

これは私のコンパイルログです:

コンパイル./missing/setproctitle.cコンパイルdmyext.clinkingminiruby /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:111:[BUG]スタック整合性エラー(sp:38、bp:36 )ruby 2.0.0dev(2013-02-25)[x86_64-darwin12.2.0]

-クラッシュレポートのログ情報--------------------------------------------次のいずれかのクラッシュレポートログファイルを参照してください。*〜/ Library / Logs / CrashReporter * / Library / Logs / CrashReporter *〜/ Library / Logs / DiagnosticReports * / Library / Logs/DiagnosticReportsの詳細。

-コントロールフレーム情報--------------------------------------------- --c:0006 p:0038 s:0038 e:000037クラス/Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:111 c:0005 p:0035 s:0034 e:000033クラス/ Users / boti / .rvm / src / ruby​​-head / lib / fileutils.rb:107 c:0004 p:0009 s:0032 e:000031 TOP
/Users/boti/.rvm/src/ruby-head/lib/fileutils .rb:85 [FINISH] c:0003 p:---- s:0030 e:000029 CFUNC:require c:0002 p:0098 s:0026 E:000f88 EVAL ./tool/mkconfig.rb:11 [FINISH] c:0001 p:0000 s:0002 E:0017a8TOP[終了]

./tool/mkconfig.rb:11:in <main>' ./tool/mkconfig.rb:11:inrequire'/Users/boti/.rvm/src/ ruby-head/lib/fileutils.rb:85:in <top (required)>' /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:107:in ' /Users/boti/.rvm/src/ruby-head /lib/fileutils.rb:111:in `'

-その他のランタイム情報--------------------------------------------- -

  • ロードされたスクリプト:./ tool / mkconfig.rb

  • ロードされた機能:

    0 enumerator.so

[注]Rubyインタプリタまたは拡張ライブラリでバグが発生した可能性があります。バグレポートは大歓迎です。詳細: http ://www.ruby-lang.org/bugreport.html

make:* [.rbconfig.time]トラップを中止:6

これが私のコンパイルログの始まりです。

[2013-02-24 20:58:47] make CC = /usr/bin/gcc-4.2 LD = ld LDSHARED = /usr/bin/gcc-4.2 -dynamiclib CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Werror = pointer-arith -Werror = write-strings -Werror =declaration-after -ステートメント-Werror=shorten-64-to-32 -Werror = implicit-function-declaration -fno-common -pipe XCFLAGS = -include ruby​​ / config.h -include ruby​​ / missing.h -D_FORTIFY_SOURCE = 2 -fstack-protector -fno-strict-overflow -fvisibility = hidden -DRUBY_EXPORT CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT-D_REENTRANT-I。-I.ext / include / x86_64-darwin12.2.0-I./include-I。DLDFLAGS = -Wl、-undefined、dynamic_lookup -Wl、-multiply_defined、suppress -install_name/Users/boti/.rvm/rubies/ruby-head/lib/libruby。

助けていただければ幸いです...

4

3 に答える 3

6

これを試して:

CC=clang rvm reinstall 2.0.0-p0

コンパイルされますが、後で他のエラーが発生する可能性があります(元の問題の原因を見つけるために取り組んでいます)。

于 2013-02-24T19:16:22.287 に答える
0

clang-vを指定してclang3.0を使用していることを確認してください。
それ以外の場合、古いバージョンのclangを使用している場合は、以下を使用して2.0.0-p0をgcc4.2でコンパイルします。

rvm install ruby --with-gcc=gcc-4.2

私は最初に古いルビーの試みを削除します:

rvm remove 2.0.0-p0

また、rvmヘッド(安定していない)があることを確認してください。

rvm get head  --autolibs=3

これでminiruby/encコンパイルの問題が解決する場合は、2.0.0-p0はクリーンビルドですが、古いコンパイラを使用しています。最新のXcodeをインストールしても、必ずしも最新のclangバージョンが含まれているとは限りません。

于 2013-03-04T10:26:47.120 に答える
0

XCode 4.6 と brew を使用した Mac OS X 10.8.2 でも、miniruby の周りでビルド エラーが発生しています。

「rvm install 2.0.0」を実行しようとすると、結果は次のようになります。

https://gist.github.com/polarapfel/5080946

CC を /usr/bin/clang に設定しようとすると、結果は次のようになります。

https://gist.github.com/polarapfel/5081054

いずれにせよ、結果は私にとって同じです。

面白いことに、私は問題なく頭を作ることができます。2.0.0p0 は Mac OS X のクリーン ビルドではなく、ねじれを解決するためにもう少し作業が必要だと思います。

--

OK、これでうまくいきました。「rvm get stable」を実行するだけで、ビルドの問題が解消されました。

于 2013-03-04T09:29:33.547 に答える