2017-09-05 16 views
0

나는 다음과 같은 오류가 발생 맥 OS X 10.12.6에 Pyodbc (pip install pyodbc) (시에라)를 설치하는 동안 문제를 추적하기 위해 노력하고있어 :"odbc"라이브러리에 대한 링커 (ld) 오류를 해결하는 방법 (-lodbc)?

ld: library not found for -lodbc 

링커 (ld)을 찾고 있습니다를 라이브러리 "ODBC"를 찾지 못했습니다. 링커가 동적 라이브러리를 처리 할 수 ​​있지만 정적 라이브러리 파일 (예 : libodbc.a)을 찾고 있다고 가정합니다.

은 이제과 같이 에게 인 unixODBC을 설치 한 :이 주제에 대해 매우 지식이 아니라서

cd ~/Downloads 
curl -O ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz 
tar xzvf unixODBC*.tar.gz 
cd unixODBC* 
./configure 
make 
sudo make install 

내 질문은 불행히도 약간 넓다. 이것들은 올바른 방향으로 나를 인도 할 것입니다 : ld은 도서관을 찾고 있습니까? 원하는 라이브러리 (파일) 이름은 무엇입니까? 나는 을 /usr/local/lib에 보았습니다. 링크 된 라이브러리가 아니어야합니까? 그리고 ... 어떻게 이것을 더 디버깅 할 수 있습니까?

P. - 자제력을 사용하지 않고이 일을하려고합니다.

답변

0

ldlibodbc.dylib에 대해 /usr/lib/을 찾고 있지만 엘 캐피 탄에서 구현 된 SIP (시스템 무결성 보장)로 인해 해당 디렉토리를 수정할 수 없습니다.

라이브러리 파일은 실제로 /usr/local/lib/이므로 ld 매개 변수에 -L/usr/local/lib을 추가하여 문제를 해결했습니다.

파이썬 패키지의 경우 컴파일러 설정에 ['library_dirs'] = '/usr/local/lib'을 추가하십시오. Pyodbc의 로컬 복제본에 대해이 작업을 수행했습니다.