2010-11-24 3 views
0

저는 Schuyler Erle의 Ruby 기반 지오 코더 (https://github.com/geocommons/geocoder)를 Mac OS 10.6에서 로컬로 실행하려고합니다. 내가받을 다음과 같은 오류 메시지가 SQLite는 DB에 타이거 shape 파일을 가져 LIB/tiger_import (위의 링크에서 제공)를 호출하면 :Mac OS X에서 잘못된 sqlite3.so 아키텍처

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 빌드를 추적 할 수 없었습니다. 이것이 내 문제의 원인이 될 가능성이 있습니까? 그렇다면 제안 된 해결 방법은 무엇입니까? 저는 Ruby/sqlite 초보자입니다. 그래서 나는 뭔가를 놓치고 있다고 확신합니다. 모든 단서는 인정 될 것이다.

+2

.so 파일은 Linux (및 기타 ELF 기반 unixen) 시스템의 공유/동적 라이브러리이며, AFAIK OSX는 그러한 것들에 .dylib를 사용합니다. 그 파일을 직접 만들었거나 패키지의 일부로 제공 되었습니까? 'tiger_import'에서 사용되는 방식은 SQLite 확장 라이브러리임을 나타냅니다. –

+0

좋은 지적. 나는 소스 코드를 조금 더 파고 그 문제를 해결했다. 도와 주셔서 감사합니다. – danpelota

답변

2

소스 코드를 조금 파고 나면 makefile이 "-arch i386"을 C 컴파일러에 명시 적으로 전달하고 있음을 알게되었습니다. (다른 사용자가 독립적으로 동일한 문제와 해결책 here에 걸렸습니다.) 대신 x86_64를 전달하기 위해 메이크 파일을 변경하고 매력처럼 작동했습니다.