简体   繁体   中英

gem update sqlite3-ruby fails on Mac OS X 10.5.8

I was trying to get the latest ruby on rails for my Mac running OS X 10.5.8. All went well until I tried to update the sqlite3-ruby. I see that others have had similar problems, but they were on Windows.

This is the error:

sudo gem update sqlite3-ruby Updating installed gems Updating sqlite3-ruby Building native extensions.  This could take a while... ERROR:  Error installing sqlite3-ruby:   ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb can't find header files for ruby.


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.2.5 for inspection. Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.2.5/ext/sqlite3_api/gem_make.out Nothing to update

These are the steps I performed:

 sudo gem update --system
 sudo gem install rails
 sudo gem update rake
 sudo gem update sqlite3-ruby

Here is the full trace:

paul-chernochs-imac-5:~ paulchernoch$ sudo gem update --system

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
Updating RubyGems...
Bulk updating Gem source index for: http://gems.rubyforge.org
Attempting remote update of rubygems-update
Successfully installed rubygems-update-1.3.5
1 gem installed
Installing ri documentation for rubygems-update-1.3.5...
Installing RDoc documentation for rubygems-update-1.3.5...
Could not find main page README
Could not find main page README
Could not find main page README
Could not find main page README
Updating version of RubyGems to 1.3.5
Installing RubyGems 1.3.5
RubyGems 1.3.5 installed

=== 1.3.5 / 2009-07-21

Bug fixes:

* Fix use of prerelease gems.
* Gem.bin_path no longer escapes path with spaces. Bug #25935 and #26458.

Deprecation Notices:

* Bulk index update is no longer supported (the code currently remains, but not
  the tests)
* Gem::manage_gems was removed in 1.3.3.
* Time::today was removed in 1.3.3.


------------------------------------------------------------------------------

RubyGems installed the following executables:
    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem

RubyGems system software updated
paul-chernochs-imac-5:~ paulchernoch$ sudo gem install rails
Password:
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.4
Successfully installed activerecord-2.3.4
Successfully installed rack-1.0.1
Successfully installed actionpack-2.3.4
Successfully installed actionmailer-2.3.4
Successfully installed activeresource-2.3.4
Successfully installed rails-2.3.4
8 gems installed
Installing ri documentation for rake-0.8.7...
Installing ri documentation for activesupport-2.3.4...
Installing ri documentation for activerecord-2.3.4...
Installing ri documentation for rack-1.0.1...
Installing ri documentation for actionpack-2.3.4...
Installing ri documentation for actionmailer-2.3.4...
Installing ri documentation for activeresource-2.3.4...
Installing ri documentation for rails-2.3.4...
Installing RDoc documentation for rake-0.8.7...
Installing RDoc documentation for activesupport-2.3.4...
Installing RDoc documentation for activerecord-2.3.4...
Installing RDoc documentation for rack-1.0.1...
Installing RDoc documentation for actionpack-2.3.4...
Installing RDoc documentation for actionmailer-2.3.4...
Installing RDoc documentation for activeresource-2.3.4...
Installing RDoc documentation for rails-2.3.4...
paul-chernochs-imac-5:~ paulchernoch$ sudo gem update rake
Updating installed gems
Nothing to update
paul-chernochs-imac-5:~ paulchernoch$ sudo gem update sqlite3-ruby
Updating installed gems
Updating sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
can't find header files for ruby.


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.2.5 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-ruby-1.2.5/ext/sqlite3_api/gem_make.out
Nothing to update

I downloaded Xcode 3.1.4 and installed it. Now I get different errors reported:

    paul-chernochs-imac-5:~ paulchernoch$ sudo gem update sqlite3-ruby
    Password:
    Updating installed gems
    Updating sqlite3-ruby
    Building native extensions.  This could take a while...
    Successfully installed sqlite3-ruby-1.2.5
    Gems updated: sqlite3-ruby
    Installing ri documentation for sqlite3-ruby-1.2.5...

    No definition for _wrap_new_CallbackData

    No definition for _wrap_CallbackData_proc_set

    No definition for _wrap_CallbackData_proc_get

    No definition for _wrap_CallbackData_proc2_set

    No definition for _wrap_CallbackData_proc2_get

    No definition for _wrap_CallbackData_data_set

    No definition for _wrap_CallbackData_data_get

    No definition for _wrap_sqlite3_libversion

    No definition for _wrap_sqlite3_close

    No definition for _wrap_sqlite3_last_insert_rowid

    No definition for _wrap_sqlite3_changes

    No definition for _wrap_sqlite3_total_changes

    No definition for _wrap_sqlite3_interrupt

    No definition for _wrap_sqlite3_complete

    No definition for _wrap_sqlite3_complete16

    No definition for _wrap_sqlite3_busy_handler

    No definition for _wrap_sqlite3_busy_timeout

    No definition for _wrap_sqlite3_set_authorizer

    No definition for _wrap_sqlite3_trace

    No definition for _wrap_sqlite3_open

    No definition for _wrap_sqlite3_open16

    No definition for _wrap_sqlite3_errcode

    No definition for _wrap_sqlite3_errmsg

    No definition for _wrap_sqlite3_errmsg16

    No definition for _wrap_sqlite3_prepare

    No definition for _wrap_sqlite3_prepare16

    No definition for _wrap_sqlite3_bind_blob

    No definition for _wrap_sqlite3_bind_double

    No definition for _wrap_sqlite3_bind_int

    No definition for _wrap_sqlite3_bind_int64

    No definition for _wrap_sqlite3_bind_null

    No definition for _wrap_sqlite3_bind_text

    No definition for _wrap_sqlite3_bind_text16

    No definition for _wrap_sqlite3_bind_parameter_count

    No definition for _wrap_sqlite3_bind_parameter_name

    No definition for _wrap_sqlite3_bind_parameter_index

    No definition for _wrap_sqlite3_column_count

    No definition for _wrap_sqlite3_column_name

    No definition for _wrap_sqlite3_column_name16

    No definition for _wrap_sqlite3_column_decltype

    No definition for _wrap_sqlite3_column_decltype16

    No definition for _wrap_sqlite3_step

    No definition for _wrap_sqlite3_data_count

    No definition for _wrap_sqlite3_column_blob

    No definition for _wrap_sqlite3_column_bytes

    No definition for _wrap_sqlite3_column_bytes16

    No definition for _wrap_sqlite3_column_double

    No definition for _wrap_sqlite3_column_int

    No definition for _wrap_sqlite3_column_int64

    No definition for _wrap_sqlite3_column_text

    No definition for _wrap_sqlite3_column_text16

    No definition for _wrap_sqlite3_column_type

    No definition for _wrap_sqlite3_finalize

    No definition for _wrap_sqlite3_reset

    No definition for _wrap_sqlite3_create_function

    No definition for _wrap_sqlite3_create_function16

    No definition for _wrap_sqlite3_aggregate_count

    No definition for _wrap_sqlite3_value_blob

    No definition for _wrap_sqlite3_value_bytes

    No definition for _wrap_sqlite3_value_bytes16

    No definition for _wrap_sqlite3_value_double

    No definition for _wrap_sqlite3_value_int

    No definition for _wrap_sqlite3_value_int64

    No definition for _wrap_sqlite3_value_text

    No definition for _wrap_sqlite3_value_text16

    No definition for _wrap_sqlite3_value_text16le

    No definition for _wrap_sqlite3_value_text16be

    No definition for _wrap_sqlite3_value_type

    No definition for _wrap_sqlite3_result_blob

    No definition for _wrap_sqlite3_result_double

    No definition for _wrap_sqlite3_result_error

    No definition for _wrap_sqlite3_result_error16

    No definition for _wrap_sqlite3_result_int

    No definition for _wrap_sqlite3_result_int64

    No definition for _wrap_sqlite3_result_text

    No definition for _wrap_sqlite3_result_text16

    No definition for _wrap_sqlite3_result_text16le

    No definition for _wrap_sqlite3_result_text16be

    No definition for _wrap_sqlite3_result_value

    No definition for _wrap_sqlite3_aggregate_context
    Installing RDoc documentation for sqlite3-ruby-1.2.5...

    No definition for _wrap_new_CallbackData

    No definition for _wrap_CallbackData_proc_set

    No definition for _wrap_CallbackData_proc_get

    No definition for _wrap_CallbackData_proc2_set

    No definition for _wrap_CallbackData_proc2_get

    No definition for _wrap_CallbackData_data_set

    No definition for _wrap_CallbackData_data_get

    No definition for _wrap_sqlite3_libversion

    No definition for _wrap_sqlite3_close

    No definition for _wrap_sqlite3_last_insert_rowid

    No definition for _wrap_sqlite3_changes

    No definition for _wrap_sqlite3_total_changes

    No definition for _wrap_sqlite3_interrupt

    No definition for _wrap_sqlite3_complete

    No definition for _wrap_sqlite3_complete16

    No definition for _wrap_sqlite3_busy_handler

    No definition for _wrap_sqlite3_busy_timeout

    No definition for _wrap_sqlite3_set_authorizer

    No definition for _wrap_sqlite3_trace

    No definition for _wrap_sqlite3_open

    No definition for _wrap_sqlite3_open16

    No definition for _wrap_sqlite3_errcode

    No definition for _wrap_sqlite3_errmsg

    No definition for _wrap_sqlite3_errmsg16

    No definition for _wrap_sqlite3_prepare

    No definition for _wrap_sqlite3_prepare16

    No definition for _wrap_sqlite3_bind_blob

    No definition for _wrap_sqlite3_bind_double

    No definition for _wrap_sqlite3_bind_int

    No definition for _wrap_sqlite3_bind_int64

    No definition for _wrap_sqlite3_bind_null

    No definition for _wrap_sqlite3_bind_text

    No definition for _wrap_sqlite3_bind_text16

    No definition for _wrap_sqlite3_bind_parameter_count

    No definition for _wrap_sqlite3_bind_parameter_name

    No definition for _wrap_sqlite3_bind_parameter_index

    No definition for _wrap_sqlite3_column_count

    No definition for _wrap_sqlite3_column_name

    No definition for _wrap_sqlite3_column_name16

    No definition for _wrap_sqlite3_column_decltype

    No definition for _wrap_sqlite3_column_decltype16

    No definition for _wrap_sqlite3_step

    No definition for _wrap_sqlite3_data_count

    No definition for _wrap_sqlite3_column_blob

    No definition for _wrap_sqlite3_column_bytes

    No definition for _wrap_sqlite3_column_bytes16

    No definition for _wrap_sqlite3_column_double

    No definition for _wrap_sqlite3_column_int

    No definition for _wrap_sqlite3_column_int64

    No definition for _wrap_sqlite3_column_text

    No definition for _wrap_sqlite3_column_text16

    No definition for _wrap_sqlite3_column_type

    No definition for _wrap_sqlite3_finalize

    No definition for _wrap_sqlite3_reset

    No definition for _wrap_sqlite3_create_function

    No definition for _wrap_sqlite3_create_function16

    No definition for _wrap_sqlite3_aggregate_count

    No definition for _wrap_sqlite3_value_blob

    No definition for _wrap_sqlite3_value_bytes

    No definition for _wrap_sqlite3_value_bytes16

    No definition for _wrap_sqlite3_value_double

    No definition for _wrap_sqlite3_value_int

    No definition for _wrap_sqlite3_value_int64

    No definition for _wrap_sqlite3_value_text

    No definition for _wrap_sqlite3_value_text16

    No definition for _wrap_sqlite3_value_text16le

    No definition for _wrap_sqlite3_value_text16be

    No definition for _wrap_sqlite3_value_type

    No definition for _wrap_sqlite3_result_blob

    No definition for _wrap_sqlite3_result_double

    No definition for _wrap_sqlite3_result_error

    No definition for _wrap_sqlite3_result_error16

    No definition for _wrap_sqlite3_result_int

    No definition for _wrap_sqlite3_result_int64

    No definition for _wrap_sqlite3_result_text

    No definition for _wrap_sqlite3_result_text16

    No definition for _wrap_sqlite3_result_text16le

    No definition for _wrap_sqlite3_result_text16be

    No definition for _wrap_sqlite3_result_value

    No definition for _wrap_sqlite3_aggregate_context

Looking at the latest errors you posted, looks like your update completed successfully. Besides the trouble updating documentation, the gem itself should work just fine.

您需要安装Ruby头文件

As Marcel suggested, installing the header files (by downloading and installing latest version of Xcode) fixed the build error for me. But I then had a problem where the sqlite3 1.3.3 gem couldn't find Sqlite3 and suggested installing the port. This didn't make sense since it is already installed in /usr/bin on Mac OS X. The problem was that it was looking for the universal binary of sqlite3. I fixed it by forcing it to install for i386 architecture using this command:

sudo env ARCHFLAGS="-arch x86_64" gem install sqlite3-ruby

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM