2014-04-09 40 views
6

我想在OSX小牛上安裝sqlite3寶石,我遇到了一個似乎很難解決的錯誤。通過谷歌搜索,我沒有設法找到其他人有同樣的問題。sqlite3寶石彙編錯誤

基本上,當我運行的創業板安裝命令,這是發生了什麼:

Building native extensions. This could take a while... 
ERROR: Error installing sqlite3: 
ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
checking for sqlite3.h... yes 
checking for sqlite3_libversion_number() in -lsqlite3... yes 
checking for rb_proc_arity()... yes 
checking for rb_integer_pack()... no 
checking for sqlite3_initialize()... yes 
checking for sqlite3_backup_init()... yes 
checking for sqlite3_column_database_name()... no 
checking for sqlite3_enable_load_extension()... no 
checking for sqlite3_load_extension()... no 
checking for sqlite3_open_v2()... yes 
checking for sqlite3_prepare_v2()... yes 
checking for sqlite3_int64 in sqlite3.h... yes 
checking for sqlite3_uint64 in sqlite3.h... yes 
creating Makefile 

make "DESTDIR=" 
compiling backup.c 
compiling database.c 
database.c:300:1: warning: control may reach end of non-void function [-Wreturn-type] 
} 
^ 
1 warning generated. 
compiling exception.c 
compiling sqlite3.c 
compiling statement.c 
linking shared-object sqlite3/sqlite3_native.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: *** [sqlite3_native.bundle] Error 1 


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

我不知道什麼是鐺,但創業板似乎經過這也許是過時或什麼參數?任何有這方面知識的人都有什麼想法?

+0

可能重複[紅寶石寶石的Json安裝上失敗小牛的Xcode 5.1 - 未知的說法: '-multiply \ _definedsuppress'] (http://stackoverflow.com/questions/22352838/ruby-gem-install-json-fails-on-mavericks-and-xcode-5-1-unknown-argument-mul) – Nakilon

回答

8

新版本的XCode在小牛顯然附帶了一個編譯器,將未知的傳遞參數視爲錯誤

要解決此問題,請將環境變量設置爲ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future,以便將錯誤降級爲警告。

所以安裝sqlite3的寶石:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install sqlite3

參考:http://bruteforce.gr/bypassing-clang-error-unknown-argument.html

+1

這工作,謝謝! – Luke

+0

也爲我修好了! –