✎ 2024년
libnsl.so.1()(64bit) is needed by oracle-instantclient
위지원
2024. 5. 9. 18:02
문제의 서막..
redhat ubi8에서 진행하였고, oracle 19c에 연결하려 했다.
superset 에서 oracle을 연결할때 , cx_oracle과 더불어 instantclient도 필요하다고 해서 버전에 맞추어 19c를 설치하려했다.
그래서 공식페이지에서 rpm 파일을 받아서 아래처럼 설치를 진행하려했는데,
rpm -ivh oracle-instantclient19.19-basic-19.19.0.0.0-1.el9.x86_64.rpm
아래처럼 의존성 문제가 발생했다.
error: Failed dependencies:
libnsl.so.1()(64bit) is needed by oracle-instantclient19.19-basic-19.19.0.0.0-1.x86_64
인터넷에 찾아보니 yum install libnsl 로 해결하라고 하는데, yum install dnf 전부 안 되었다.
No match for argument: libnsl
Error: Unable to find a match: libnsl
그럼 남은건,, 수동 설치뿐 이제 의존성 지옥에 빠지게 된다.
라이브러리 다운 경로를 정리해둔 아래 싸이트로 가서 libnsl 을 검색했고,
아래처럼 존재하는 것을 확인할 수 있었다.
libnsl-2.28-251.el8.aarch64.rpm
그럼 또 다음과 같이 의존성 에러가 발생한다.
다시 의존성 사이트에서 두 라이브러리를 찾아서 다운로드해준다.
libnsl 설치하려고 하면 아래 의존성 에러 발생
error: Failed dependencies:
glibc(x86-64) = 2.28-251.el8 is needed by libnsl-2.28-251.el8.x86_64
glibc 설치하려고 하면 아래 의존성 에러 발생
error: Failed dependencies:
glibc-common = 2.28-251.el8 is needed by glibc-2.28-251.el8.x86_64
glibc-langpack = 2.28-251.el8 is needed by glibc-2.28-251.el8.x86_64
근데 이 친구들이 서로 의존하는 친구다...ㅠㅠ 그래서 아래 순서로 진행했다.
1. common과 langpack을 --nodeps 옵션으로 의존성을 무시하고 설치했다.
2. common 같은경우는 기존 버전과 충돌 나서 rpm -ivh 가 아니라 rpm -Uvh로 업그레이드해줬다.
3. 이제 다시 glibc를 설치해줬다.
그리고 나서 libnsl을 설치하면!!!!
ㅜ.ㅜ 드디어 성공
sh-4.4# rpm -ivh libnsl-2.28-251.el8.x86_64.rpm
warning: libnsl-2.28-251.el8.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:libnsl-2.28-251.el8 ################################# [100%]
오라클 client도 깔끔하게 설치 완료되었다!!
Updating / installing...
1:oracle-instantclient19.23-basic-1################################# [100%]
신난다 ><