Sqlite3 gem compilation error

I am trying to install sqlite3 stone on OSX Mavericks, and I came across an error that seems complicated to get around. According to googling, I could not find anyone else with the same problem.

Basically, when I run the gem install command, this happens:

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 

I don't know what clang is, but does the gem seem to convey an argument that may be out of date or something else? Anyone with more knowledge about this got any ideas?

+6
source share
1 answer

The new version of Xcode in Mavericks apparently comes with a compiler that treats unknown parameters passed as errors .

To fix this problem, set the environment variable to ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future to reduce this error to a warning.

So, to install sqlite3 stone:

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

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

+8
source

All Articles