MacOSX10.9のRedmineを2.5.0に更新した

MacOSX 10.9 (Mavericks)にて、Redmineを2.4.3から2.5.0に更新した。動作環境は下記の通り。

いつも通りのコマンドを叩くが何故かエラーが発生してしまう。

$ sudo bundle install
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using rake (10.1.1) 
Using i18n (0.6.9) 
Using multi_json (1.9.0) 
Using activesupport (3.2.17) 
Using builder (3.0.0) 
Using activemodel (3.2.17) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.5) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.3) 
Using tilt (1.4.1) 
Using sprockets (2.2.2) 
Using actionpack (3.2.17) 
Using mime-types (1.25.1) 
Using polyglot (0.3.4) 
Using treetop (1.4.15) 
Using mail (2.5.4) 
Using actionmailer (3.2.17) 
Using arel (3.0.3) 
Using tzinfo (0.3.39) 
Using activerecord (3.2.17) 
Using activeresource (3.2.17) 
Using awesome_nested_set (2.1.6) 
Using bundler (1.3.5) 
Using mini_portile (0.5.2) 
Using nokogiri (1.6.1) 
Using xpath (2.0.0) 
Using capybara (2.1.0) 
Using ffi (1.9.3) 
Using childprocess (0.5.1) 
Using coderay (1.1.0) 
Using rack-ssl (1.3.3) 
Using json (1.8.1) 
Using rdoc (3.12.2) 
Using thor (0.18.1) 
Using railties (3.2.17) 
Using jquery-rails (2.0.3) 
Using metaclass (0.0.4) 
Using mocha (1.0.0) 
Using mysql2 (0.3.15) 
Using net-ldap (0.3.1) 
Using ruby-openid (2.3.0) 
Using rack-openid (1.4.2) 
Using rails (3.2.17) 
Installing redcarpet (2.3.0) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
creating Makefile

make "DESTDIR="
compiling autolink.c
compiling buffer.c
compiling houdini_href_e.c
compiling houdini_html_e.c
compiling html.c
compiling html_smartypants.c
compiling markdown.c
compiling rc_markdown.c
compiling rc_render.c
compiling stack.c
linking shared-object redcarpet.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: *** [redcarpet.bundle] Error 1

Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/redcarpet-2.3.0 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/redcarpet-2.3.0/ext/redcarpet/gem_make.out

An error occurred while installing redcarpet (2.3.0), and Bundler cannot continue.
Make sure that `gem install redcarpet -v '2.3.0'` succeeds before bundling.

"unknown argument"とは一体どういう意味だ?調べたところ、Xcode 5.1からclangの動作が変わったのが原因らしい。

The Apple LLVM compiler in Xcode 5.1 treats unrecognized command-line options as errors. This issue has been seen when building both Python native extensions and Ruby Gems, where some invalid compiler options are currently specified.
Projects using invalid compiler options will need to be changed to remove those options. To help ease that transition, the compiler will temporarily accept an option to downgrade the error to a warning:

  • Wno-error=unused-command-line-argument-hard-error-in-future

取りあえずの回避策としては、上記のようなオプションを設定して呼び出せば良い。

$ sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future bundle install

これでパッケージが正常に更新され、Redmineもバージョンアップ出来ることを確認した。