ruby - sqlite3 gem编译错误

标签 ruby macos sqlite gem

我正在尝试在 OSX Mavericks 上安装 sqlite3 gem,但我遇到了一个似乎很难解决的错误。通过谷歌搜索,我没有找到其他有同样问题的人。

基本上,当我运行 gem install 命令时,会发生以下情况:

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

我不知道 clang 是什么,但 gem 似乎在传递一个可能已被弃用的论点或其他什么?对这些东西有更多了解的人有任何想法吗?

最佳答案

Mavericks 中新版本的 XCode 显然附带了一个编译器,该编译器将未知传递的参数视为错误

要解决此问题,请将环境变量设置为 ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future 以将错误降级为警告。

所以要安装 sqlite3 gem:

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

引用:http://bruteforce.gr/bypassing-clang-error-unknown-argument.html

关于ruby - sqlite3 gem编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22970984/

相关文章:

ruby-on-rails - Elasticsearch /轮胎 : How do I filter a boolean attribute?

macos - Sparkle框架的现状如何?

cocoa - Qt 中的 OS X 透明面板?

java - 在 DAO 模式中放置交易的位置

c# - C#.NET 中的 SQLite3

mysql - 如何拒绝 Ruby on Rails 中的 "wrong"输入

javascript - 比较在 Coffeescript/Javascript 和 Ruby 中给出了不同的结果

ruby-on-rails - Digest::SHA2.hexdigest() 在哪里定义?

macos - NSTextView 双视

android - 在 Android 中预填充数据库的最快和最有效的方法