Неправильная архитектура sqlite3.so в Mac OS X - PullRequest
0 голосов
/ 24 ноября 2010

Я пытаюсь получить геокодер Schuyler Erle на основе Ruby (https://github.com/geocommons/geocoder) и работает локально в Mac OS 10.6. После вызова lib / tiger_import (доступно по ссылке выше) для импорта шейп-файлов Tiger в базу данных sqlite, я получаюследующее сообщение об ошибке:

Error: dlopen(bin/../lib/geocoder/us/sqlite3.so, 10): no suitable image found.  
Did find: bin/../lib/geocoder/us/sqlite3.so: mach-o, but wrong architecture

Запуск file lib/geocoder/us/sqlite3.so действительно показывает:

lib/geocoder/us/sqlite3.so: Mach-O dynamically linked shared library i386

После долгих поисков я не смог отыскать подходящий 64-битныйsqlite3.so build. Может ли это быть причиной моей проблемы? Если да, то какие-нибудь предлагаемые обходные пути? Я новичок в Ruby / sqlite, так что я уверен, что что-то упустил. Любые подсказки будут оценены.

1 Ответ

2 голосов
/ 24 ноября 2010

Немного покопавшись в исходном коде, я понял, что make-файл явно передает "-arch i386" компилятору C.(Другой пользователь самостоятельно наткнулся на ту же проблему и разрешение здесь .) Я просто изменил make-файл, чтобы вместо него передать x86_64, и он работал как чудо.

...