모든 :unixodbc가 ltdl 라이브러리와 동적으로 링크되었을 때의 문제점은 무엇입니까?
내가 솔라리스 10 환경에서 인 unixODBC을 테스트하고, libodbc 및 MyODBC에 드라이버를 동적으로 libltdl.so와 연결하는 경우 찾을 수 있어요 :
ldd /usr/lib/libodbc.so.2
libltdl.so.7 => /usr/local/lib/libltdl.so.7
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libthread.so.1 => /usr/lib/libthread.so.1
libc.so.1 => /usr/lib/libc.so.1
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libm.so.2 => /usr/lib/libm.so.2
/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
ldd /data/nan/mysql-connector-odbc-5.2.4-src/lib/libmyodbc5a.so
libodbc.so.2 => /usr/lib/libodbc.so.2
libthread.so.1 => /usr/lib/libthread.so.1
libm.so.2 => /usr/lib/libm.so.2
libodbcinst.so.2 => /usr/lib/libodbcinst.so.2
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libltdl.so.7 => /usr/local/lib/libltdl.so.7
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libc.so.1 => /usr/lib/libc.so.1
/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
이 때때로 실패 MySQL 서버를 연결할하는 응용 프로그램을 시작할 때 . 로그는 다음과 같습니다.
[ODBC][6738][1361325895.588941][SQLConnect.c][1111]Can't open lib '/data/nan/mysql-connector-odbc-5.2.4-src/lib/libmyodbc5a.so' : file not found
[ODBC][6738][1361325895.588979][SQLConnect.c][1111]Can't open lib '/data/nan/mysql-connector-odbc-5.2.4-src/lib/libmyodbc5a.so' : file not found
잠시 후 응용 프로그램이 정상적으로 실행됩니다.
But if libodbc and MyODBC driver aren't dynamically linked with libltdl.so:
ldd /usr/local/lib/libodbc.so.2
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libthread.so.1 => /usr/lib/libthread.so.1
libc.so.1 => /usr/lib/libc.so.1
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
libm.so.2 => /usr/lib/libm.so.2
/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1
ldd /data1/susie/mysql/tools/test_static_modify/mysql-connector-odbc-5.2.3-src/lib/libmyodbc5a.so
libodbc.so.2 => /usr/local/lib/libodbc.so.2
libthread.so.1 => /usr/lib/libthread.so.1
libm.so.2 => /usr/lib/libm.so.2
libodbcinst.so.2 => /usr/local/lib/libodbcinst.so.2
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libc.so.1 => /usr/lib/libc.so.1
/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1
응용 프로그램
는 그래서 나는 그것이 인 unixODBC에 잠재적 인 문제가 될 것 같아요 .. 항상 확인을 실행합니다. 아무도 그것을 확인하는 데 도움이 될 수 있습니까? 대단히 감사드립니다!안부
할머니 샤오 모든 인 unixODBC가하는
: 답장을 보내 주셔서 감사합니다. 추가 실험이 끝난 후이 문제는 libltdl과 관련이없는 것으로 나타났습니다. 트러스 명령 출력을 잡으려고합니다. –
트러스 로그를 사서함 ([email protected])으로 보냈습니다. 확인해 주셔서 감사합니다. 대단히 감사합니다! –
이 문제의 근본 원인은 founa 였고 unixodbc 2.3.2 사전로드 덕분에 해결되었습니다! 감사합니다! –