0

我正在尝试做一个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

做 agem environment为我提供了这个版本的 gems: RUBYGEMS VERSION: 1.8.24

有人知道为什么 sqlite3 编译失败,我该如何解决?谢谢!

4

1 回答 1

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正常!

于 2012-06-27T22:31:38.410 回答