Oracle을 지원하고 싶은 Mapserver 6.2.1용 자체 생성 rpm이 있지만 모든 기능을 작동시키는 데 많은 어려움을 겪고 있습니다.
내 ORACLE_HOME에 oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64를 rpm으로, sdk 및 sqlplus를 zip 파일로 설치했습니다. 지도 서버가 SDK 파일을 인식할 수 있는 올바른 위치에 있는지 확인하는 유일한 방법인 것 같습니다.
그래서 내 맵 서버 rpm이 빌드되지만 빌드 서버에 설치하려고 하면 다음과 같은 오류가 발생합니다.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mapserver.x86_64 0:6.2.1-2 will be updated
--> Processing Dependency: mapserver = 6.2.1-2 for package: mapserver-perl-6.2.1-2.x86_64
--> Processing Dependency: mapserver = 6.2.1-2 for package: mapserver-python-6.2.1-2.x86_64
---> Package mapserver.x86_64 0:6.2.1-12.el6 will be an update
--> Processing Dependency: libclntsh.so.12.1()(64bit) for package: mapserver-6.2.1-12.el6.x86_64
--> Running transaction check
---> Package mapserver.x86_64 0:6.2.1-12.el6 will be an update
--> Processing Dependency: libclntsh.so.12.1()(64bit) for package: mapserver-6.2.1-12.el6.x86_64
---> Package mapserver-perl.x86_64 0:6.2.1-2 will be updated
---> Package mapserver-perl.x86_64 0:6.2.1-12.el6 will be an update
---> Package mapserver-python.x86_64 0:6.2.1-2 will be updated
---> Package mapserver-python.x86_64 0:6.2.1-12.el6 will be an update
--> Processing Dependency: libclntsh.so.12.1()(64bit) for package: mapserver-python-6.2.1-12.el6.x86_64
--> Finished Dependency Resolution
Error: Package: mapserver-6.2.1-12.el6.x86_64 (geodata)
Requires: libclntsh.so.12.1()(64bit)
Error: Package: mapserver-python-6.2.1-12.el6.x86_64 (geodata)
Requires: libclntsh.so.12.1()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
분명히 libclntsh.so.12.1은 yum을 통해 설치되었으며 패키지가 빌드되었을 때와 정확히 동일한 위치에 있습니다.
내가 뭘 잘못했나요?
답변1
부분 RPM 확인
요구 사항이 충족되지 않아 yum/RPM이 불평하는 것 같습니다. 나는 일반적으로 파일이 RPM 제어하에 있는지 확인하기 위해 이 명령을 사용합니다.
$ locate libclntsh
경로가 반환되면 RPM을 확인하여 해당 경로를 제어하는지 확인하세요.
$ rpm -qf <path from locate command>
RPM이 파일을 제어하지 않으면 해당 파일이 시스템에 있는지 여부는 중요하지 않습니다. RPM의 관점에서는 파일이 설치되지 않은 것입니다.
비슷한 질문이요?
나는 당신이 같은 문제를 겪고 있는 것처럼 보이는 이 스레드를 발견했습니다. 이 스레드의 유일한 실제 조언은 사용 중인 파일이 로컬 시스템에 있는지 확인하는 것입니다. 나는 이것이 당신의 문제라고 생각하지 않지만 어쨌든 이 게시물을 확인하면 영감을 얻을 수 있습니다.
답변2
귀하의 질문에는 실제로 두 가지 측면이 있습니다. libclntsh.so.12.1 파일이 컴퓨터에 설치되어 있는지 여부가 문제가 아니라 현재 활성화된 저장소의 패키지가 "libclntsh.so.12.1()(64bit)" 기능을 제공하는지 여부가 문제입니다.
따라서 해당 방법을 쿼리하면 yum whatprovides 'libclntsh.so.12.1()(64bit)'
이 기능을 제공하는 패키지가 있는지 확인할 수 있습니다. 저장소를 비활성화했나요?
"yum이 계속 불평하는 이유"라는 질문의 다른 부분: 기본적으로 yum은 항상 실행되기 때문입니다.냠체크rpm 데이터베이스의 일관성을 보장하고 충돌이나 누락된 종속성을 보고합니다. 이는 yum에 저장된 거래 내역과 밀접한 관련이 있습니다.할 수 있는많은 부작용이 있음에도 불구하고 비활성화됩니다. 확인하다yum.conf및 옵션역사 기록