hello all,
this is driving me crazy, and i have tried everything and looked
everywhere and i cannot resolve this problem.
when i do bundle install in a rails app, i get an error “Failed to
build gem native extension” during sqlite3. i have included the entire
error below.
i have rails 3.0.3, ruby 1.8.7, and sqlite3 installed (although i cant
see it in gem list). i have OS X 10.5.8, XCode 3.1.4. this is running
on a PPC machine.
the weird thing is, this just started out of nowhere. i have been
learning rails for a few months, and this error just started occurring
without me upgrading or installing anywhere. in fact, this runs on a
PMG5 which is only used for this.
just a few things i have tried from searching the web, the forums, and
the mailing groups are upgrading everything (rails, gems, ruby, xcode,
sqlite), compiling and installing sqlite, trying to use mysql instead,
taking all instances of sqlite out of my gemfile, i think there were a
few more…
so here are the errors, and below that is the relevant mkmf.log. thank
you to anyone in advance who has a suggestion!
Installing sqlite3-ruby (1.3.2) with native extensions /usr/local/lib/
ruby/site_ruby/1.8/rubygems/installer.rb:483:in `build_extensions’:
ERROR: Failed to build gem native extension.
(Gem::Installer::ExtensionBuildError)
/usr/local/bin/ruby extconf.rb
checking for sqlite3.h… yes
checking for sqlite3_libversion_number() in -lsqlite3… yes
checking for rb_proc_arity()… no
checking for sqlite3_initialize()… no
sqlite3-ruby only supports sqlite3 versions 3.6.16+, please upgrade!
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
–with-opt-dir
–without-opt-dir
–with-opt-include
–without-opt-include=${opt-dir}/include
–with-opt-lib
–without-opt-lib=${opt-dir}/lib
–with-make-prog
–without-make-prog
–srcdir=.
–curdir
–ruby=/usr/local/bin/ruby
–with-sqlite3-dir
–without-sqlite3-dir
–with-sqlite3-include
–without-sqlite3-include=${sqlite3-dir}/include
–with-sqlite3-lib
–without-sqlite3-lib=${sqlite3-dir}/lib
–with-sqlite3lib
–without-sqlite3lib
Gem files will remain installed in /Users/richardmyers/.bundler/tmp/
436/gems/sqlite3-ruby-1.3.2 for inspection.
Results logged to /Users/richardmyers/.bundler/tmp/436/gems/sqlite3-
ruby-1.3.2/ext/sqlite3/gem_make.out
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in
each' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in
build_extensions’
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:in
install' from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/ source.rb:95:in
install’
from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/
installer.rb:55:in run' from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/ spec_set.rb:12:in
each’
from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/
spec_set.rb:12:in each' from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/ installer.rb:44:in
run’
from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/
installer.rb:8:in install' from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/ cli.rb:225:in
install’
from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/
vendor/thor/task.rb:22:in send' from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/ vendor/thor/task.rb:22:in
run’
from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/
vendor/thor/invocation.rb:118:in invoke_task' from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/ vendor/thor.rb:246:in
dispatch’
from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/
vendor/thor/base.rb:389:in start' from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/bin/bundle:13 from /usr/local/bin/bundle:19:in
load’
from /usr/local/bin/bundle:19
mkmf.log:
find_header: checking for sqlite3.h… -------------------- yes
“gcc -E -I. -I/usr/local/lib/ruby/1.8/powerpc-darwin9.8.0 -I. -I/usr/
local/include -I/opt/local/include -I/sw/local/include -I/usr/include
-D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-common -
pipe -fno-common conftest.c -o conftest.i”
checked program was:
/* begin /
1: #include <sqlite3.h>
/ end */
find_library: checking for sqlite3_libversion_number() in -lsqlite3…
-------------------- yes
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/powerpc-darwin9.8.0 -I.
-I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/
include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-
common -pipe -fno-common conftest.c -L. -L/usr/local/lib -L/usr/
local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L. -lruby-
static -lsqlite3 -lpthread -ldl -lobjc "
conftest.c: In function t:
conftest.c:3: error: sqlite3_libversion_number undeclared (first use
in this function)
conftest.c:3: error: (Each undeclared identifier is reported only once
conftest.c:3: error: for each function it appears in.)
checked program was:
/* begin /
1: /top/
2: int main() { return 0; }
3: int t() { void ((volatile p)()); p = (void (()
()))sqlite3_libversion_number; return 0; }
/ end */
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/powerpc-darwin9.8.0 -I.
-I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/
include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-
common -pipe -fno-common conftest.c -L. -L/usr/local/lib -L/usr/
local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L. -lruby-
static -lsqlite3 -lpthread -ldl -lobjc "
checked program was:
/* begin /
1: /top/
2: int main() { return 0; }
3: int t() { sqlite3_libversion_number(); return 0; }
/ end */
have_func: checking for rb_proc_arity()… -------------------- no
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/powerpc-darwin9.8.0 -I.
-I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/
include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-
common -pipe -fno-common conftest.c -L. -L/usr/local/lib -L/usr/
local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L. -
lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
conftest.c: In function t:
conftest.c:3: error: rb_proc_arity undeclared (first use in this
function)
conftest.c:3: error: (Each undeclared identifier is reported only once
conftest.c:3: error: for each function it appears in.)
checked program was:
/* begin /
1: /top/
2: int main() { return 0; }
3: int t() { void ((volatile p)()); p = (void (()()))rb_proc_arity;
return 0; }
/ end */
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/powerpc-darwin9.8.0 -I.
-I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/
include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-
common -pipe -fno-common conftest.c -L. -L/usr/local/lib -L/usr/
local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L. -
lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
Undefined symbols:
“_rb_proc_arity”, referenced from:
_t in ccOoG1fQ.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
checked program was:
/* begin /
1: /top/
2: int main() { return 0; }
3: int t() { rb_proc_arity(); return 0; }
/ end */
have_func: checking for sqlite3_initialize()… --------------------
no
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/powerpc-darwin9.8.0 -I.
-I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/
include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-
common -pipe -fno-common conftest.c -L. -L/usr/local/lib -L/usr/
local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L. -
lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
conftest.c: In function t:
conftest.c:3: error: sqlite3_initialize undeclared (first use in
this function)
conftest.c:3: error: (Each undeclared identifier is reported only once
conftest.c:3: error: for each function it appears in.)
checked program was:
/* begin /
1: /top/
2: int main() { return 0; }
3: int t() { void ((volatile p)()); p = (void (()
()))sqlite3_initialize; return 0; }
/ end */
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/powerpc-darwin9.8.0 -I.
-I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/
include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-
common -pipe -fno-common conftest.c -L. -L/usr/local/lib -L/usr/
local/lib -L/opt/local/lib -L/sw/local/lib -L/usr/lib -L. -
lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
Undefined symbols:
“_sqlite3_initialize”, referenced from:
_t in ccO7bkXD.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
checked program was:
/* begin /
1: /top/
2: int main() { return 0; }
3: int t() { sqlite3_initialize(); return 0; }
/ end */