运行gem pristine --all时出现sqlite3错误

时间:2012-06-27 15:15:35

标签: sqlite rubygems

我正在尝试执行gem pristine --all,目前正在使用sqlite3部分进行错误处理。 具体做法是:

checking for sqlite3_uint64 in sqlite3.h... yes
creating Makefile

make
compiling backup.c
In file included from backup.c:3:
In file included from ./sqlite3_ruby.h:51:
./backup.h:7:3: error: unknown type name 'sqlite3_backup'; did you mean 'sqlite3_value'?
  sqlite3_backup *p;
  ^~~~~~~~~~~~~~
  sqlite3_value
/usr/local/include/sqlite3.h:1764:20: note: 'sqlite3_value' declared here
typedef struct Mem sqlite3_value;
                   ^
backup.c:63:3: error: unknown type name 'sqlite3_backup'; did you mean 'sqlite3_value'?
  sqlite3_backup *pBackup;
  ^~~~~~~~~~~~~~
  sqlite3_value
    /usr/local/include/sqlite3.h:1764:20: note: 'sqlite3_value' declared here
typedef struct Mem sqlite3_value;
               ^

有一大堆警告,可能与这些错误有关。底线还引用了gem_make.out日志文件。 看它基本上是对上述内容的翻新。

当前的环境细节......其中我不确定什么是有用的,什么不是......:)

which ruby
/Users/kriston/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
which gem
/Users/kriston/.rvm/rubies/ruby-1.9.3-p194/bin/gem
sqlite3 -version
3.7.13 2012-06-11 02:05:22 f5b5a13f7394dc143aa136f1d4faba6839eaa6dc

执行gem environment为我提供了此版本的宝石:RUBYGEMS VERSION: 1.8.24

有没有人知道sqlite3编译失败的原因,以及我如何修复它?谢谢!

1 个答案:

答案 0 :(得分:0)

原来我需要使用通用设置从头开始再次安装sqlite3。 但是,在此之前我需要更新macports,并确保实际识别出4.3 Xcode开发工具。

首先: $ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/

然后 sudo port selfupgrade

然后最后 sudo gem install sqlite3 +universal

之后,跑步 gem pristine --all工作正常!