Testprintenv: 공유 라이브러리 로드 오류: libodbc.so.1: 공유 개체 파일을 열 수 없습니다.

Testprintenv: 공유 라이브러리 로드 오류: libodbc.so.1: 공유 개체 파일을 열 수 없습니다.

구성 파일에서 특정 키워드의 값을 반환하는 C 프로그램을 호출하려고 합니다.

프로그램을 호출하려고 하면 다음 오류가 나타납니다.

**Testprintenv: error while loading shared libraries: libodbc.so.1: cannot open shared object file: No such file or directory**

이전에 EasySoft를 설치했다가 다시 제거했습니다(모든 디렉터리 삭제).

Linux 시스템에는 다음 종속성이 표시됩니다.

-bash-4.1$ ldd Testprintenv
        linux-vdso.so.1 =>  (0x00007fffc0bdb000)
        libodbc.so.1 => not found
        libodbcinst.so.1 => not found
        libc.so.6 => /lib64/libc.so.6 (0x000000397b200000)
        /lib64/ld-linux-x86-64.so.2 (0x000000397ae00000)

Solaris 시스템에서 동일한 프로그램을 시도하면 종속성이 다르게 표시되고 오류 없이 실행됩니다.

[Testuser]$ ldd Testprintenv
        libsocket.so.1 =>        /lib/libsocket.so.1
        libnsl.so.1 =>   /lib/libnsl.so.1
        libc.so.1 =>     /lib/libc.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libmd.so.1 =>    /lib/libmd.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libdoor.so.1 =>  /lib/libdoor.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1
        libgen.so.1 =>   /lib/libgen.so.1
        libm.so.2 =>     /lib/libm.so.2
        /platform/SUNW,SPARC-Enterprise/lib/libc_psr.so.1

종속성(libodbc.so.1)이 Linux에만 나타나는 이유와 이를 해결하는 방법에 대해 알고 계시나요?

답변1

Linux 시스템에 odbc 라이브러리가 설치되지 않은 것 같습니다. 라이브러리를 추가하려면 적절한 패키지 관리 시스템을 사용하십시오. 다음은 몇 가지 일반적인 배포판에 대한 몇 가지 명령입니다.

Centos, Redhat 또는 Fedora와 같은 RPM 관리 시스템의 경우:

sudo yum install unixODBC

Ubuntu 또는 Mint와 같은 Debian 시스템의 경우:

sudo apt-get install libodbc1

관련 정보