Ruby on Rails - Ошибка при установке bdb. Не удалось построить собственное расширение gem - PullRequest
1 голос
/ 09 ноября 2011

При запуске gem install bdb я получаю следующую ошибку:

Error installing bdb:
ERROR: Failed to build gem native extension.

Кто-нибудь знает, где я могу найти библиотеку bdb для Mac OS X?

Полная ошибка:

Building native extensions.  This could take a while...
ERROR:  Error installing bdb:
ERROR: Failed to build gem native extension.
...
checking for db_version() in -ldb-5.1... yes
Writing bdb_aux._c (defines), this takes a while
don't know how to handle DB_DEGREE_2 DB_READ_COMMITTED, guessing UINT
don't know how to handle DB_DIRTY_READ DB_READ_UNCOMMITTED, guessing UINT
don't know how to handle DB_HEAP_RID_SZ (sizeof(db_pgno_t) + sizeof(db_indx_t)), guessing UINT

wrote 491 defines
creating Makefile

make
...
bdb.c:84:1: warning: "eDbE_create" redefined
bdb.c:50:1: warning: this is the location of the previous definition
bdb.c: In function ‘assoc_rescue’:
bdb.c:1200: warning: format not a string literal and no format arguments
bdb.c: In function ‘assoc_callback’:
bdb.c:1248: warning: comparison between signed and unsigned
bdb.c:1249: warning: pointer of type ‘void *’ used in arithmetic
bdb.c: In function ‘env_set_cachesize’:
bdb.c:1830: warning: implicit conversion shortens 64-bit value into a 32-bit value
bdb.c:1831: warning: implicit conversion shortens 64-bit value into a 32-bit value
bdb.c: In function ‘env_txn_stat’:
bdb.c:2299: warning: comparison between signed and unsigned
bdb.c: In function ‘env_repmgr_set_local_site’:
bdb.c:3005: error: ‘DB_ENV’ has no member named ‘repmgr_set_local_site’
bdb.c: In function ‘env_repmgr_add_remote_site’:
bdb.c:3024: error: ‘DB_ENV’ has no member named ‘repmgr_add_remote_site’
bdb.c:3331:1: warning: "eDbE_create" redefined
bdb.c:84:1: warning: this is the location of the previous definition
bdb.c:3424:1: warning: "ENV_LOG_CONFIG_FUNC" redefined
bdb.c:2533:1: warning: this is the location of the previous definition
make: *** [bdb.o] Error 1

1 Ответ

1 голос
/ 09 ноября 2011

Вы видели инструкции на странице bdb?

как драгоценный камень

В настоящее время эта библиотека недоступна в RubyForge. Установить это как драгоценный камень, сделайте следующее:

[sudo] gem install bdb

Для Berkeley DB v4.7, установленного из MacPorts, выполните следующее:

[sudo] env ARCHFLAGS = "- arch i386" gem install bdb Предполагается, что вы на OS X и BerkeleyDB не был скомпилирован как универсальный двоичный файл.

Похоже, вам нужно установить berkeley db через macports / brew, чтобы установить Gem.

...