[解決済み] Mavericks と Xcode 5.1 で Ruby Gem install Json が失敗する - unknown argument: '-multiply_definedsuppress'.
質問
gem install jsonを実行しようとしたところ、以下のエラーが発生しました。
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [generator.bundle] Error 1
make failed, exit code 2
Gem files will remain installed in /opt/boxen/repo/.bundle/ruby/2.0.0/gems/json-1.8.0 for inspection.
Results logged to /opt/boxen/repo/.bundle/ruby/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.0/gem_make.out
使っています。
Os X。10.9.2
Xcode。5.1 ビルドバージョン 5B130a
コマンド ライン ツール (CLT): 5.1.0.0.1.1393561416
Ruby: ruby 2.0.0p247 (2013-06-27 リビジョン 41674) [universal.x86_64-darwin13].
Ruby Gem:2.2.2です。
GCC: 4.2.1 Apple LLVM version 5.1 (clang-503.0.38) (LLVM 3.4svn をベースにしたもの)
どのように解決するのですか?
Xcode を 5.1 にアップデートした後、まったく同じ問題に遭遇しており、Apple からのニュースは良いものではありません。以下から Xcode 5.1 リリース ノート :
- Xcode 5.1 の Apple LLVM コンパイラーは、認識されないコマンドラインオプションをエラーとして扱います。この問題は、現在いくつかの無効なコンパイラー オプションが指定されている、Python ネイティブ拡張と Ruby Gems の両方を構築する際に確認されています。
無効なコンパイラーオプションを使用しているプロジェクトは、それらのオプションを削除するように変更する必要があります。その移行を容易にするために、コンパイラーは一時的に、エラーを警告にダウングレードするオプションを受け入れます。
-Wno-error=unused-command-line-argument-hard-error-in-future
この問題を回避するには、ARCHFLAGS環境変数を設定して、エラーを警告にダウングレードします。
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName
コンパイラのオプションに違反するすべてのgemは、有効なオプションを使用するように更新されなければならないようです。と明言されています。 このオプション [エラーを警告に格下げ] は将来的にサポートされません。 .
私たちが見ている clang note ( これは将来的にハードエラー(警告にダウングレードできない)になります。 ) は、リリースノートで発表された変更に対応するものです。
具体的な質問の答えですが、json gemのインストールには以下を使用します。
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json
しかし、これは一時的な修正に過ぎないことに注意してください。
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] json gem のインストール中にエラー 'mkmf.rb can't find header files for ruby' が発生する。
-
[解決済み] RubyGemsのインストールやアップデートがパーミッションエラーで失敗する場合の対処法
-
[解決済み】Ubuntuでのsqlite3-rubyのインストールエラー
-
[解決済み] Rubyの文字列の中から"˶‾‾‾˵"を削除するにはどうしたらいいですか?
-
[解決済み] Rubyの"==="演算子は何をするのですか?重複] [重複
-
[解決済み] Ruby文字列のgsubメソッドとsubメソッドの違いについて
-
[解決済み] Herokuの基本的なアプリのロードに2秒かかるのはなぜですか?
-
[解決済み] RubyでDateTime.nowをUTCに変換するには?
-
[解決済み] なぜ、繊維が必要なのか
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] clang error: unknown argument: '-mno-fused-madd' (pythonパッケージのインストールに失敗しました)
-
[解決済み] pip install numpyの問題点 - RuntimeError: Broken toolchain: 単純なCプログラムをリンクできない
-
[解決済み] このタスクを実行するには、Ruby と Sass をインストールし、PATH に配置する必要があります」という警告を解決するには?
-
[解決済み] Ruby: HTTP でファイルを multipart/form-data で投稿するには?
-
[解決済み] Ubuntu 14.04にRuby 2.1.4をインストールする方法
-
[解決済み] Rubyのプライベートモジュールメソッド
-
[解決済み] Rubyのオフ・ザ・レール
-
[解決済み] Ruby で改行せずに印刷する方法
-
[解決済み] Rubyで、selectとmapを組み合わせたArrayメソッドはありますか?
-
[解決済み] なぜ、繊維が必要なのか