Shrinidhikulkarni7 / OracleClient_Alpine

Installing oracle client for alpine docker image
MIT License
45 stars 24 forks source link

alpine uses musl, method not works #1

Closed aam335 closed 4 years ago

aam335 commented 4 years ago

/# ldd /opt/instantclient_19_3/libclntsh.so /lib/ld-musl-x86_64.so.1 (0x7f640b098000) libnnz19.so => /opt/instantclient_19_3/libnnz19.so (0x7f6406940000) libdl.so.2 => /lib/ld-musl-x86_64.so.1 (0x7f640b098000) libm.so.6 => /lib/ld-musl-x86_64.so.1 (0x7f640b098000) libpthread.so.0 => /lib/ld-musl-x86_64.so.1 (0x7f640b098000) libnsl.so.1 => /usr/lib/libnsl.so.1 (0x7f6406928000) librt.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f640b098000) libaio.so.1 => /usr/lib/libaio.so.1 (0x7f6406920000) libc.so => /lib/ld-musl-x86_64.so.1 (0x7f640b098000) libclntshcore.so.19.1 => /opt/instantclient_19_3/libclntshcore.so.19.1 (0x7f6406380000) libtirpc.so.3 => /usr/lib/libtirpc.so.3 (0x7f6406350000) libintl.so.8 => /usr/lib/libintl.so.8 (0x7f6406340000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x7f64062f8000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x7f6406228000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x7f64061f8000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x7f64061f0000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x7f64061e0000) libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x7f64061d8000) Error relocating /opt/instantclient_19_3/libclntsh.so: canonicalize_file_name: symbol not found Error relocating /opt/instantclient_19_3/libclntsh.so: dn_expand: symbol not found Error relocating /opt/instantclient_19_3/libclntsh.so: getcontext: symbol not found Error relocating /opt/instantclient_19_3/libclntsh.so: __res_nsearch: symbol not found Error relocating /opt/instantclient_19_3/libclntsh.so: dn_skipname: symbol not found Error relocating /opt/instantclient_19_3/libclntsh.so: finite: symbol not found Error relocating /opt/instantclient_19_3/libclntsh.so: res_nclose: symbol not found Error relocating /opt/instantclient_19_3/libclntsh.so: __res_ninit: symbol not found

Shrinidhikulkarni7 commented 4 years ago

Can you tell the steps to reproduce the error?

Did you clone whole repository?( because the shell script is important to set path)

aam335 commented 4 years ago

$ git clone https://github.com/Shrinidhikulkarni7/OracleClient_Alpine.git Cloning into 'OracleClient_Alpine'... remote: Enumerating objects: 17, done. remote: Counting objects: 100% (17/17), done. remote: Compressing objects: 100% (13/13), done. remote: Total 17 (delta 4), reused 13 (delta 3), pack-reused 0 Unpacking objects: 100% (17/17), done.

$ docker build -t shrinidhikulkarni7/oracleclient_alpine . Sending build context to Docker daemon 77.82kB Step 1/5 : FROM alpine:latest ---> 965ea09ff2eb Step 2/5 : ENV LD_LIBRARY_PATH=/lib ---> Using cache ---> a1591e23b51b Step 3/5 : RUN wget https://download.oracle.com/otn_software/linux/instantclient/193000/instantclient-basic-linux.x64-19.3.0.0.0dbru.zip && unzip instantclient-basic-linux.x64-19.3.0.0.0dbru.zip && cp -r instantclient_19_3/* /lib && rm -rf instantclient-basic-linux.x64-19.3.0.0.0dbru.zip && apk add libaio ---> Running in ef95ebc811c7 Connecting to download.oracle.com (88.221.72.34:443) instantclient-basic- 47% |*** | 33.8M 0:00:01 ETA instantclient-basic- 100% |****| 71.6M 0:00:00 ETA Archive: instantclient-basic-linux.x64-19.3.0.0.0dbru.zip inflating: instantclient_19_3/adrci inflating: instantclient_19_3/BASIC_LICENSE inflating: instantclient_19_3/BASIC_README inflating: instantclient_19_3/genezi inflating: instantclient_19_3/libclntshcore.so.19.1 inflating: instantclient_19_3/libclntsh.so inflating: instantclient_19_3/libclntsh.so.10.1 inflating: instantclient_19_3/libclntsh.so.11.1 inflating: instantclient_19_3/libclntsh.so.12.1 inflating: instantclient_19_3/libclntsh.so.18.1 inflating: instantclient_19_3/libclntsh.so.19.1 inflating: instantclient_19_3/libipc1.so inflating: instantclient_19_3/libmql1.so inflating: instantclient_19_3/libnnz19.so inflating: instantclient_19_3/libocci.so inflating: instantclient_19_3/libocci.so.10.1 inflating: instantclient_19_3/libocci.so.11.1 inflating: instantclient_19_3/libocci.so.12.1 inflating: instantclient_19_3/libocci.so.18.1 inflating: instantclient_19_3/libocci.so.19.1 inflating: instantclient_19_3/libociei.so inflating: instantclient_19_3/libocijdbc19.so inflating: instantclient_19_3/liboramysql19.so creating: instantclient_19_3/network/ inflating: instantclient_19_3/ojdbc8.jar inflating: instantclient_19_3/ucp.jar inflating: instantclient_19_3/uidrvci inflating: instantclient_19_3/xstreams.jar creating: instantclient_19_3/network/admin/ inflating: instantclient_19_3/network/admin/README fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz (1/1) Installing libaio (0.3.111-r0) OK: 6 MiB in 15 packages Removing intermediate container ef95ebc811c7 ---> 396d3b3a1e50 Step 4/5 : ADD script.sh /root/script.sh ---> 462a1d0296ac Step 5/5 : RUN /root/script.sh ---> Running in 0405d6bead67 Removing intermediate container 0405d6bead67 ---> d8bdc85c89a6 Successfully built d8bdc85c89a6 Successfully tagged shrinidhikulkarni7/oracleclient_alpine:latest $ docker run -ti shrinidhikulkarni7/oracleclient_alpine
/ # ldd /lib/libclntsh.so /lib/ld-musl-x86_64.so.1 (0x7f3005b90000) libnnz19.so => /lib/libnnz19.so (0x7f3001438000) libdl.so.2 => /lib/ld-musl-x86_64.so.1 (0x7f3005b90000) libm.so.6 => /lib/ld-musl-x86_64.so.1 (0x7f3005b90000) libpthread.so.0 => /lib/ld-musl-x86_64.so.1 (0x7f3005b90000) Error loading shared library libnsl.so.1: No such file or directory (needed by /lib/libclntsh.so) librt.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f3005b90000) libaio.so.1 => /usr/lib/libaio.so.1 (0x7f3001430000) Error loading shared library libresolv.so.2: No such file or directory (needed by /lib/libclntsh.so) libc.so.6 => /lib/ld-musl-x86_64.so.1 (0x7f3005b90000) Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /lib/libclntsh.so) libclntshcore.so.19.1 => /lib/libclntshcore.so.19.1 (0x7f3000e90000) Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /lib/libnnz19.so) Error loading shared library libnsl.so.1: No such file or directory (needed by /lib/libclntshcore.so.19.1) Error loading shared library libresolv.so.2: No such file or directory (needed by /lib/libclntshcore.so.19.1) Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /lib/libclntshcore.so.19.1) Error relocating /lib/libclntsh.so: canonicalize_file_name: symbol not found Error relocating /lib/libclntsh.so: dn_expand: symbol not found Error relocating /lib/libclntsh.so: getcontext: symbol not found Error relocating /lib/libclntsh.so: __res_nsearch: symbol not found Error relocating /lib/libclntsh.so: bindresvport: symbol not found Error relocating /lib/libclntsh.so: dn_skipname: symbol not found Error relocating /lib/libclntsh.so: finite: symbol not found Error relocating /lib/libclntsh.so: res_nclose: symbol not found Error relocating /lib/libclntsh.so: __res_ninit: symbol not found


No such file or directory error removes by installing "RUN apk add libaio libnsl libc6-compat" and than ln -s /lib64/* /lib for ld-linux...

Shrinidhikulkarni7 commented 4 years ago

Can you please make PR for the same? Thanks :)

nikksabhishek commented 4 years ago

The fix worked for me.

Saved my day, Thanks! :)

Shrinidhikulkarni7 commented 4 years ago

@nikksabhishek it would be great if you could send a PR with the fix.

Thank you.