Open bsrdjan opened 4 years ago
Can you provide a verbose log of the auditwheel repair
and auditwheel show
commands please ?
I'm stuck exactly with the same error, any idea will be really helpful
The manylinux2014 wheel built on quay.io/pypa/manylinux2014_x86_64 docker image, can't be imported:
ImportError: libuuid-7867869b.so.1.3.0: cannot open shared object file: No such file or directory
The original library dependencies look like this:
$ auditwheel show pynwrfc-2.0.3-cp38-cp38-linux_x86_64.whl pynwrfc-2.0.3-cp38-cp38-linux_x86_64.whl is consistent with the following platform tag: "linux_x86_64". The wheel references external versioned symbols in these system- provided shared libraries: libc.so.6 with versions {'GLIBC_2.3.4', 'GLIBC_2.4', 'GLIBC_2.2.5', 'GLIBC_2.3', 'GLIBC_2.3.2'}, libsapucum.so with versions {'libsapucum.so'}, libsapnwrfc.so with versions {'libsapnwrfc.so'}, libdl.so.2 with versions {'GLIBC_2.2.5'}, libpthread.so.0 with versions {'GLIBC_2.3.2', 'GLIBC_2.2.5'}, libgcc_s.so.1 with versions {'GCC_3.0'}, libuuid.so.1 with versions {'UUID_1.0'}, librt.so.1 with versions {'GLIBC_2.2.5'}, libm.so.6 with versions {'GLIBC_2.2.5'}, libstdc++.so.6 with versions {'GLIBCXX_3.4', 'CXXABI_1.3.1', 'CXXABI_1.3'} The following external shared libraries are required by the wheel: { "libc.so.6": "/lib64/libc-2.17.so", "libdl.so.2": "/lib64/libdl-2.17.so", "libgcc_s.so.1": "/lib64/libgcc_s-4.8.5-20150702.so.1", "libm.so.6": "/lib64/libm-2.17.so", "libpthread.so.0": "/lib64/libpthread-2.17.so", "librt.so.1": "/lib64/librt-2.17.so", "libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so", "libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so", "libstdc++.so.6": "/lib64/libstdc++.so.6.0.19", "libuuid.so.1": "/lib64/libuuid.so.1.3.0" } In order to achieve the tag platform tag "manylinux2014_x86_64" the following shared library dependencies will need to be eliminated: libsapnwrfc.so, libsapucum.so, libuuid.so.1 In order to achieve the tag platform tag "manylinux2010_x86_64" the following shared library dependencies will need to be eliminated: libsapnwrfc.so, libsapucum.so, libuuid.so.1 In order to achieve the tag platform tag "manylinux1_x86_64" the following shared library dependencies will need to be eliminated: libsapnwrfc.so, libsapucum.so, libuuid.so.1
The
auditwheel repair
result looks like this:$ auditwheel show audit/pynwrfc-2.0.3-cp38-cp38-manylinux2014_x86_64.whl pynwrfc-2.0.3-cp38-cp38-manylinux2014_x86_64.whl is consistent with the following platform tag: "manylinux1_x86_64". The wheel references external versioned symbols in these system- provided shared libraries: libc.so.6 with versions {'GLIBC_2.3', 'GLIBC_2.3.2', 'GLIBC_2.4', 'GLIBC_2.2.5', 'GLIBC_2.3.4'}, libsapucum-2461e767.so with versions {'libsapucum.so'}, libsapnwrfc-7e060996.so with versions {'libsapnwrfc.so'}, libdl.so.2 with versions {'GLIBC_2.2.5'}, libpthread.so.0 with versions {'GLIBC_2.2.5', 'GLIBC_2.3.2'}, libgcc_s.so.1 with versions {'GCC_3.0'}, libuuid-7867869b.so.1.3.0 with versions {'UUID_1.0'}, librt.so.1 with versions {'GLIBC_2.2.5'}, libm.so.6 with versions {'GLIBC_2.2.5'}, libstdc++.so.6 with versions {'CXXABI_1.3.1', 'GLIBCXX_3.4', 'CXXABI_1.3'} The following external shared libraries are required by the wheel: { "libc.so.6": "/lib64/libc-2.17.so", "libdl.so.2": "/lib64/libdl-2.17.so", "libgcc_s.so.1": "/lib64/libgcc_s-4.8.5-20150702.so.1", "libm.so.6": "/lib64/libm-2.17.so", "libpthread.so.0": "/lib64/libpthread-2.17.so", "librt.so.1": "/lib64/librt-2.17.so", "libstdc++.so.6": "/lib64/libstdc++.so.6.0.19" }
The libuuid on centos docker image:
$ ldconfig -p | grep uuid libuuid.so.1 (libc6,x86-64) => /lib64/libuuid.so.1 libuuid.so (libc6,x86-64) => /lib64/libuuid.so
Any ideas how to fix this?
Were you able to fix it? I'm trying to create a wheel with all the dependencies from sap nwrfcsdk, the wheel is installed succesfully however when I import pyrfc is when I get this error:
libuuid-XXXxx.so.1.3.0: cannot open shared object file: No such file or directory
I guess is something related with the internal use of libsapnwrfc.so
I'll let you know if I'm able to fix it.
Please find the verbose logs. The wheel is built on ubuntu:latest
and auditwheel
done on quay.io/pypa/manylinux2014_x86_64
based docker container.
show
[www-admin@69bb468528a8 dist]$ auditwheel -v show pynwrfc-2.0.6-cp38-cp38-linux_x86_64.whl
DEBUG:auditwheel.wheel_abi:processing: pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so
DEBUG:auditwheel.lddtree:parse_ld_so_conf(//etc/ld.so.conf)
DEBUG:auditwheel.lddtree: glob: //etc/ld.so.conf.d/*.conf
DEBUG:auditwheel.lddtree: parse_ld_so_conf(//etc/ld.so.conf.d/nwrfcsdk.conf)
DEBUG:auditwheel.lddtree:linker ldpaths: {'conf': ['/usr/local/sap/nwrfcsdk/lib', '/lib', '/lib64/', '/usr/lib', '/usr/lib64'], 'env': ['/opt/rh/devtoolset-9/root/usr/lib64', '/opt/rh/devtoolset-9/root/usr/lib', '/usr/local/lib64', '/usr/local/lib'], 'interp': []}
DEBUG:auditwheel.lddtree:lddtree(pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so)
DEBUG:auditwheel.lddtree: ldpaths[rpath] = []
DEBUG:auditwheel.lddtree: ldpaths[runpath] = []
DEBUG:auditwheel.lddtree:lddtree(/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libdl-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libc-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/ld-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/librt-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libpthread-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libuuid.so.1.3.0)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libstdc++.so.6.0.19)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libm-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libgcc_s-4.8.5-20150702.so.1)
DEBUG:auditwheel.lddtree:lddtree(/usr/local/sap/nwrfcsdk/lib/libsapucum.so)
DEBUG:auditwheel.wheel_abi:key libsapucum.so, value libsapucum.so
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key libsapnwrfc.so, value libsapnwrfc.so
DEBUG:auditwheel.wheel_abi:{
"pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so": {
"interp": null,
"path": "pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so",
"realpath": "pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so",
"needed": [
"libsapnwrfc.so",
"libsapucum.so",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
],
"rpath": [],
"runpath": [],
"libs": {
"libsapnwrfc.so": {
"realpath": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"path": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"needed": [
"libdl.so.2",
"librt.so.1",
"libuuid.so.1",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
]
},
"libdl.so.2": {
"realpath": "/lib64/libdl-2.17.so",
"path": "/lib64/libdl.so.2",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libc.so.6": {
"realpath": "/lib64/libc-2.17.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.17.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
},
"librt.so.1": {
"realpath": "/lib64/librt-2.17.so",
"path": "/lib64/librt.so.1",
"needed": [
"libpthread.so.0",
"libc.so.6"
]
},
"libpthread.so.0": {
"realpath": "/lib64/libpthread-2.17.so",
"path": "/lib64/libpthread.so.0",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libuuid.so.1": {
"realpath": "/lib64/libuuid.so.1.3.0",
"path": "/lib64/libuuid.so.1",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libstdc++.so.6": {
"realpath": "/lib64/libstdc++.so.6.0.19",
"path": "/lib64/libstdc++.so.6",
"needed": [
"libm.so.6",
"libc.so.6",
"ld-linux-x86-64.so.2",
"libgcc_s.so.1"
]
},
"libm.so.6": {
"realpath": "/lib64/libm-2.17.so",
"path": "/lib64/libm.so.6",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libgcc_s.so.1": {
"realpath": "/lib64/libgcc_s-4.8.5-20150702.so.1",
"path": "/lib64/libgcc_s.so.1",
"needed": [
"libc.so.6"
]
},
"libsapucum.so": {
"realpath": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"path": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"needed": [
"libdl.so.2",
"librt.so.1",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
]
}
}
}
}
DEBUG:auditwheel.wheel_abi:external reference info
DEBUG:auditwheel.wheel_abi:{
"linux_x86_64": {
"libs": {
"libdl.so.2": "/lib64/libdl-2.17.so",
"libm.so.6": "/lib64/libm-2.17.so",
"libuuid.so.1": "/lib64/libuuid.so.1.3.0",
"libpthread.so.0": "/lib64/libpthread-2.17.so",
"libc.so.6": "/lib64/libc-2.17.so",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"librt.so.1": "/lib64/librt-2.17.so",
"libgcc_s.so.1": "/lib64/libgcc_s-4.8.5-20150702.so.1",
"libstdc++.so.6": "/lib64/libstdc++.so.6.0.19",
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so"
},
"priority": 0
},
"manylinux1_x86_64": {
"libs": {
"libuuid.so.1": "/lib64/libuuid.so.1.3.0",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so"
},
"priority": 100
},
"manylinux2010_x86_64": {
"libs": {
"libuuid.so.1": "/lib64/libuuid.so.1.3.0",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so"
},
"priority": 90
},
"manylinux2014_x86_64": {
"libs": {
"libuuid.so.1": "/lib64/libuuid.so.1.3.0",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so"
},
"priority": 80
}
}
DEBUG:auditwheel.wheel_abi:path /lib64/libuuid.so.1.3.0, key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:path /lib64/libuuid.so.1.3.0, key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:path /lib64/libuuid.so.1.3.0, key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:path /lib64/libuuid.so.1.3.0, key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libdl.so.2, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libpthread.so.0, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libgcc_s.so.1, value GCC_3.0
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libuuid.so.1, value UUID_1.0
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libdl.so.2, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key librt.so.1, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libm.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libstdc++.so.6, value CXXABI_1.3.1
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libstdc++.so.6, value CXXABI_1.3
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libstdc++.so.6, value GLIBCXX_3.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libpthread.so.0, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libpthread.so.0, value GLIBC_2.3.2
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.3.2
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.2.5
pynwrfc-2.0.6-cp38-cp38-linux_x86_64.whl is consistent with the
following platform tag: "linux_x86_64".
The wheel references external versioned symbols in these system-
provided shared libraries: libsapucum.so with versions
{'libsapucum.so'}, libc.so.6 with versions {'GLIBC_2.3.4',
'GLIBC_2.4', 'GLIBC_2.3.2', 'GLIBC_2.2.5', 'GLIBC_2.3'},
libsapnwrfc.so with versions {'libsapnwrfc.so'}, libdl.so.2 with
versions {'GLIBC_2.2.5'}, libpthread.so.0 with versions
{'GLIBC_2.3.2', 'GLIBC_2.2.5'}, libgcc_s.so.1 with versions
{'GCC_3.0'}, libuuid.so.1 with versions {'UUID_1.0'}, librt.so.1 with
versions {'GLIBC_2.2.5'}, libm.so.6 with versions {'GLIBC_2.2.5'},
libstdc++.so.6 with versions {'GLIBCXX_3.4', 'CXXABI_1.3',
'CXXABI_1.3.1'}
The following external shared libraries are required by the wheel:
{
"libc.so.6": "/lib64/libc-2.17.so",
"libdl.so.2": "/lib64/libdl-2.17.so",
"libgcc_s.so.1": "/lib64/libgcc_s-4.8.5-20150702.so.1",
"libm.so.6": "/lib64/libm-2.17.so",
"libpthread.so.0": "/lib64/libpthread-2.17.so",
"librt.so.1": "/lib64/librt-2.17.so",
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"libstdc++.so.6": "/lib64/libstdc++.so.6.0.19",
"libuuid.so.1": "/lib64/libuuid.so.1.3.0"
}
In order to achieve the tag platform tag "manylinux2014_x86_64" the
following shared library dependencies will need to be eliminated:
libsapnwrfc.so, libsapucum.so, libuuid.so.1
In order to achieve the tag platform tag "manylinux2010_x86_64" the
following shared library dependencies will need to be eliminated:
libsapnwrfc.so, libsapucum.so, libuuid.so.1
In order to achieve the tag platform tag "manylinux1_x86_64" the
following shared library dependencies will need to be eliminated:
libsapnwrfc.so, libsapucum.so, libuuid.so.1
repair
[www-admin@69bb468528a8 dist]$ auditwheel -v repair pynwrfc-2.0.6-cp38-cp38-linux_x86_64.whl
INFO:auditwheel.main_repair:Repairing pynwrfc-2.0.6-cp38-cp38-linux_x86_64.whl
DEBUG:auditwheel.wheel_abi:processing: pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so
DEBUG:auditwheel.lddtree:parse_ld_so_conf(//etc/ld.so.conf)
DEBUG:auditwheel.lddtree: glob: //etc/ld.so.conf.d/*.conf
DEBUG:auditwheel.lddtree: parse_ld_so_conf(//etc/ld.so.conf.d/nwrfcsdk.conf)
DEBUG:auditwheel.lddtree:linker ldpaths: {'conf': ['/usr/local/sap/nwrfcsdk/lib', '/lib', '/lib64/', '/usr/lib', '/usr/lib64'], 'env': ['/opt/rh/devtoolset-9/root/usr/lib64', '/opt/rh/devtoolset-9/root/usr/lib', '/usr/local/lib64', '/usr/local/lib'], 'interp': []}
DEBUG:auditwheel.lddtree:lddtree(pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so)
DEBUG:auditwheel.lddtree: ldpaths[rpath] = []
DEBUG:auditwheel.lddtree: ldpaths[runpath] = []
DEBUG:auditwheel.lddtree:lddtree(/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libdl-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libc-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/ld-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/librt-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libpthread-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libuuid.so.1.3.0)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libstdc++.so.6.0.19)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libm-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libgcc_s-4.8.5-20150702.so.1)
DEBUG:auditwheel.lddtree:lddtree(/usr/local/sap/nwrfcsdk/lib/libsapucum.so)
DEBUG:auditwheel.wheel_abi:key libsapucum.so, value libsapucum.so
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key libsapnwrfc.so, value libsapnwrfc.so
DEBUG:auditwheel.wheel_abi:{
"pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so": {
"interp": null,
"path": "pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so",
"realpath": "pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so",
"needed": [
"libsapnwrfc.so",
"libsapucum.so",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
],
"rpath": [],
"runpath": [],
"libs": {
"libsapnwrfc.so": {
"realpath": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"path": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"needed": [
"libdl.so.2",
"librt.so.1",
"libuuid.so.1",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
]
},
"libdl.so.2": {
"realpath": "/lib64/libdl-2.17.so",
"path": "/lib64/libdl.so.2",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libc.so.6": {
"realpath": "/lib64/libc-2.17.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.17.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
},
"librt.so.1": {
"realpath": "/lib64/librt-2.17.so",
"path": "/lib64/librt.so.1",
"needed": [
"libpthread.so.0",
"libc.so.6"
]
},
"libpthread.so.0": {
"realpath": "/lib64/libpthread-2.17.so",
"path": "/lib64/libpthread.so.0",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libuuid.so.1": {
"realpath": "/lib64/libuuid.so.1.3.0",
"path": "/lib64/libuuid.so.1",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libstdc++.so.6": {
"realpath": "/lib64/libstdc++.so.6.0.19",
"path": "/lib64/libstdc++.so.6",
"needed": [
"libm.so.6",
"libc.so.6",
"ld-linux-x86-64.so.2",
"libgcc_s.so.1"
]
},
"libm.so.6": {
"realpath": "/lib64/libm-2.17.so",
"path": "/lib64/libm.so.6",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libgcc_s.so.1": {
"realpath": "/lib64/libgcc_s-4.8.5-20150702.so.1",
"path": "/lib64/libgcc_s.so.1",
"needed": [
"libc.so.6"
]
},
"libsapucum.so": {
"realpath": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"path": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"needed": [
"libdl.so.2",
"librt.so.1",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
]
}
}
}
}
DEBUG:auditwheel.wheel_abi:external reference info
DEBUG:auditwheel.wheel_abi:{
"linux_x86_64": {
"libs": {
"libm.so.6": "/lib64/libm-2.17.so",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"libc.so.6": "/lib64/libc-2.17.so",
"libdl.so.2": "/lib64/libdl-2.17.so",
"librt.so.1": "/lib64/librt-2.17.so",
"libgcc_s.so.1": "/lib64/libgcc_s-4.8.5-20150702.so.1",
"libpthread.so.0": "/lib64/libpthread-2.17.so",
"libstdc++.so.6": "/lib64/libstdc++.so.6.0.19",
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"libuuid.so.1": "/lib64/libuuid.so.1.3.0"
},
"priority": 0
},
"manylinux1_x86_64": {
"libs": {
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"libuuid.so.1": "/lib64/libuuid.so.1.3.0"
},
"priority": 100
},
"manylinux2010_x86_64": {
"libs": {
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"libuuid.so.1": "/lib64/libuuid.so.1.3.0"
},
"priority": 90
},
"manylinux2014_x86_64": {
"libs": {
"libsapnwrfc.so": "/usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so",
"libsapucum.so": "/usr/local/sap/nwrfcsdk/lib/libsapucum.so",
"libuuid.so.1": "/lib64/libuuid.so.1.3.0"
},
"priority": 80
}
}
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libgcc_s.so.1, value GCC_3.0
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libuuid.so.1, value UUID_1.0
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libdl.so.2, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key librt.so.1, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libm.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libstdc++.so.6, value CXXABI_1.3.1
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libstdc++.so.6, value CXXABI_1.3
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libstdc++.so.6, value GLIBCXX_3.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libpthread.so.0, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libpthread.so.0, value GLIBC_2.3.2
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.3.2
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so, key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libdl.so.2, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libpthread.so.0, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:path /usr/local/sap/nwrfcsdk/lib/libsapucum.so, key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:path /lib64/libuuid.so.1.3.0, key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:path /lib64/libuuid.so.1.3.0, key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:path /lib64/libuuid.so.1.3.0, key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:path /lib64/libuuid.so.1.3.0, key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.repair:Grafting: /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so -> pynwrfc.libs/libsapnwrfc-7e060996.so
DEBUG:auditwheel.repair:Grafting: /usr/local/sap/nwrfcsdk/lib/libsapucum.so -> pynwrfc.libs/libsapucum-2461e767.so
DEBUG:auditwheel.repair:Grafting: /lib64/libuuid.so.1.3.0 -> pynwrfc.libs/libuuid-506df98b.so.1.3.0
DEBUG:auditwheel.repair:Setting RPATH: pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so to "$ORIGIN/../pynwrfc.libs"
INFO:auditwheel.wheeltools:Previous filename tags: linux_x86_64
INFO:auditwheel.wheeltools:New filename tags: manylinux2014_x86_64
INFO:auditwheel.wheeltools:Previous WHEEL info tags: cp38-cp38-linux_x86_64
INFO:auditwheel.wheeltools:New WHEEL info tags: cp38-cp38-manylinux2014_x86_64
DEBUG:auditwheel.wheel_abi:processing: pynwrfc.libs/libuuid-506df98b.so.1.3.0
DEBUG:auditwheel.lddtree:lddtree(pynwrfc.libs/libuuid-506df98b.so.1.3.0)
DEBUG:auditwheel.lddtree: ldpaths[rpath] = []
DEBUG:auditwheel.lddtree: ldpaths[runpath] = []
DEBUG:auditwheel.lddtree:lddtree(/lib64/libc-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/ld-2.17.so)
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:processing: pynwrfc.libs/libsapucum-2461e767.so
DEBUG:auditwheel.lddtree:lddtree(pynwrfc.libs/libsapucum-2461e767.so)
DEBUG:auditwheel.lddtree: ldpaths[rpath] = []
DEBUG:auditwheel.lddtree: ldpaths[runpath] = []
DEBUG:auditwheel.lddtree:lddtree(/lib64/libdl-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libc-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/ld-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/librt-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libpthread-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libstdc++.so.6.0.19)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libm-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libgcc_s-4.8.5-20150702.so.1)
DEBUG:auditwheel.wheel_abi:key libdl.so.2, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key libpthread.so.0, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:processing: pynwrfc.libs/libsapnwrfc-7e060996.so
DEBUG:auditwheel.lddtree:lddtree(pynwrfc.libs/libsapnwrfc-7e060996.so)
DEBUG:auditwheel.lddtree: ldpaths[rpath] = []
DEBUG:auditwheel.lddtree: ldpaths[runpath] = []
DEBUG:auditwheel.lddtree:lddtree(/lib64/libdl-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libc-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/ld-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/librt-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libpthread-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libstdc++.so.6.0.19)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libm-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libgcc_s-4.8.5-20150702.so.1)
DEBUG:auditwheel.wheel_abi:key libgcc_s.so.1, value GCC_3.0
DEBUG:auditwheel.wheel_abi:key libuuid-506df98b.so.1.3.0, value UUID_1.0
DEBUG:auditwheel.wheel_abi:key libdl.so.2, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key librt.so.1, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key libm.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key libstdc++.so.6, value CXXABI_1.3.1
DEBUG:auditwheel.wheel_abi:key libstdc++.so.6, value CXXABI_1.3
DEBUG:auditwheel.wheel_abi:key libstdc++.so.6, value GLIBCXX_3.4
DEBUG:auditwheel.wheel_abi:key libpthread.so.0, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key libpthread.so.0, value GLIBC_2.3.2
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.4
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.3.2
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.3.4
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.3
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:processing: pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so
DEBUG:auditwheel.lddtree:lddtree(pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so)
DEBUG:auditwheel.lddtree: ldpaths[rpath] = ['/var/tmp/tmp9zk75le5/pynwrfc.libs']
DEBUG:auditwheel.lddtree: ldpaths[runpath] = []
DEBUG:auditwheel.lddtree:lddtree(/var/tmp/tmp9zk75le5/pynwrfc.libs/libsapnwrfc-7e060996.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libdl-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libc-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/ld-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/librt-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libpthread-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/var/tmp/tmp9zk75le5/pynwrfc.libs/libuuid-506df98b.so.1.3.0)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libstdc++.so.6.0.19)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libm-2.17.so)
DEBUG:auditwheel.lddtree:lddtree(/lib64/libgcc_s-4.8.5-20150702.so.1)
DEBUG:auditwheel.lddtree:lddtree(/var/tmp/tmp9zk75le5/pynwrfc.libs/libsapucum-2461e767.so)
DEBUG:auditwheel.wheel_abi:key libsapucum-2461e767.so, value libsapucum.so
DEBUG:auditwheel.wheel_abi:key libc.so.6, value GLIBC_2.2.5
DEBUG:auditwheel.wheel_abi:key libsapnwrfc-7e060996.so, value libsapnwrfc.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libsapucum-2461e767.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libsapnwrfc-7e060996.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libuuid-506df98b.so.1.3.0
DEBUG:auditwheel.policy.external_references:RPATH FTW: libsapnwrfc-7e060996.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libsapucum-2461e767.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libuuid-506df98b.so.1.3.0
DEBUG:auditwheel.policy.external_references:RPATH FTW: libsapnwrfc-7e060996.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libsapucum-2461e767.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libuuid-506df98b.so.1.3.0
DEBUG:auditwheel.policy.external_references:RPATH FTW: libsapnwrfc-7e060996.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libsapucum-2461e767.so
DEBUG:auditwheel.policy.external_references:RPATH FTW: libuuid-506df98b.so.1.3.0
DEBUG:auditwheel.wheel_abi:{
"pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so": {
"interp": null,
"path": "pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so",
"realpath": "pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so",
"needed": [
"libsapnwrfc-7e060996.so",
"libsapucum-2461e767.so",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
],
"rpath": [
"/var/tmp/tmp9zk75le5/pynwrfc.libs"
],
"runpath": [],
"libs": {
"libsapnwrfc-7e060996.so": {
"realpath": "/var/tmp/tmp9zk75le5/pynwrfc.libs/libsapnwrfc-7e060996.so",
"path": "/var/tmp/tmp9zk75le5/pynwrfc.libs/libsapnwrfc-7e060996.so",
"needed": [
"libdl.so.2",
"librt.so.1",
"libuuid-506df98b.so.1.3.0",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
]
},
"libdl.so.2": {
"realpath": "/lib64/libdl-2.17.so",
"path": "/lib64/libdl.so.2",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libc.so.6": {
"realpath": "/lib64/libc-2.17.so",
"path": "/lib64/libc.so.6",
"needed": [
"ld-linux-x86-64.so.2"
]
},
"ld-linux-x86-64.so.2": {
"realpath": "/lib64/ld-2.17.so",
"path": "/lib64/ld-linux-x86-64.so.2",
"needed": []
},
"librt.so.1": {
"realpath": "/lib64/librt-2.17.so",
"path": "/lib64/librt.so.1",
"needed": [
"libpthread.so.0",
"libc.so.6"
]
},
"libpthread.so.0": {
"realpath": "/lib64/libpthread-2.17.so",
"path": "/lib64/libpthread.so.0",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libuuid-506df98b.so.1.3.0": {
"realpath": "/var/tmp/tmp9zk75le5/pynwrfc.libs/libuuid-506df98b.so.1.3.0",
"path": "/var/tmp/tmp9zk75le5/pynwrfc.libs/libuuid-506df98b.so.1.3.0",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libstdc++.so.6": {
"realpath": "/lib64/libstdc++.so.6.0.19",
"path": "/lib64/libstdc++.so.6",
"needed": [
"libm.so.6",
"libc.so.6",
"ld-linux-x86-64.so.2",
"libgcc_s.so.1"
]
},
"libm.so.6": {
"realpath": "/lib64/libm-2.17.so",
"path": "/lib64/libm.so.6",
"needed": [
"libc.so.6",
"ld-linux-x86-64.so.2"
]
},
"libgcc_s.so.1": {
"realpath": "/lib64/libgcc_s-4.8.5-20150702.so.1",
"path": "/lib64/libgcc_s.so.1",
"needed": [
"libc.so.6"
]
},
"libsapucum-2461e767.so": {
"realpath": "/var/tmp/tmp9zk75le5/pynwrfc.libs/libsapucum-2461e767.so",
"path": "/var/tmp/tmp9zk75le5/pynwrfc.libs/libsapucum-2461e767.so",
"needed": [
"libdl.so.2",
"librt.so.1",
"libstdc++.so.6",
"libm.so.6",
"libgcc_s.so.1",
"libpthread.so.0",
"libc.so.6"
]
}
}
}
}
DEBUG:auditwheel.wheel_abi:external reference info
DEBUG:auditwheel.wheel_abi:{
"linux_x86_64": {
"libs": {
"libm.so.6": "/lib64/libm-2.17.so",
"libc.so.6": "/lib64/libc-2.17.so",
"libdl.so.2": "/lib64/libdl-2.17.so",
"librt.so.1": "/lib64/librt-2.17.so",
"libgcc_s.so.1": "/lib64/libgcc_s-4.8.5-20150702.so.1",
"libpthread.so.0": "/lib64/libpthread-2.17.so",
"libstdc++.so.6": "/lib64/libstdc++.so.6.0.19"
},
"priority": 0
},
"manylinux1_x86_64": {
"libs": {},
"priority": 100
},
"manylinux2010_x86_64": {
"libs": {},
"priority": 90
},
"manylinux2014_x86_64": {
"libs": {},
"priority": 80
}
}
INFO:auditwheel.main_repair:Wheel is eligible for a higher priority tag. You requested manylinux2014_x86_64 but I have found this wheel is eligible for manylinux1_x86_64.
DEBUG:auditwheel.repair:Grafting: /usr/local/sap/nwrfcsdk/lib/libsapnwrfc.so -> pynwrfc.libs/libsapnwrfc-7e060996.so
DEBUG:auditwheel.repair:Grafting: /usr/local/sap/nwrfcsdk/lib/libsapucum.so -> pynwrfc.libs/libsapucum-2461e767.so
DEBUG:auditwheel.repair:Grafting: /lib64/libuuid.so.1.3.0 -> pynwrfc.libs/libuuid-506df98b.so.1.3.0
DEBUG:auditwheel.repair:Setting RPATH: pyrfc/pyrfc.cpython-38-x86_64-linux-gnu.so to "$ORIGIN/../pynwrfc.libs"
INFO:auditwheel.wheeltools:Previous filename tags: linux_x86_64
INFO:auditwheel.wheeltools:New filename tags: manylinux1_x86_64
INFO:auditwheel.wheeltools:Previous WHEEL info tags: cp38-cp38-linux_x86_64
INFO:auditwheel.wheeltools:New WHEEL info tags: cp38-cp38-manylinux1_x86_64
INFO:auditwheel.main_repair:
Fixed-up wheel written to /home/www-admin/src/NG-APPS/PyRFC/dist/wheelhouse/pynwrfc-2.0.6-cp38-cp38-manylinux1_x86_64.whl
The universal wheel installed on ubuntu:latest
, shows following import error:
----> 1 from pyrfc import *
~/.pyenv/versions/3.8.2/envs/py382/lib/python3.8/site-packages/pyrfc/__init__.py in <module>
37 )
38
---> 39 from .pyrfc import (
40 get_nwrfclib_version,
41 Connection,
ImportError: libuuid-506df98b.so.1.3.0: cannot open shared object file: No such file or directory
The ldconfig on ubuntu:latest
shows:
$ ldconfig -p | grep uuid
libuuid.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libuuid.so.1
and on quay.io/pypa/manylinux2014_x86_64
ldconfig -p | grep uuid
libuuid.so.1 (libc6,x86-64) => /lib64/libuuid.so.1
libuuid.so (libc6,x86-64) => /lib64/libuuid.so
Also noticed that pip uninstall of manylinux wheel shows:
$ pip uninstall pynwrfc
Found existing installation: pynwrfc 2.0.6
Uninstalling pynwrfc-2.0.6:
Would remove:
/home/www-admin/.pyenv/versions/3.8.2/envs/py382/lib/python3.8/site-packages/pynwrfc-2.0.6.dist-info/*
/home/www-admin/.pyenv/versions/3.8.2/envs/py382/lib/python3.8/site-packages/pynwrfc.libs/libsapnwrfc-7e060996.so
/home/www-admin/.pyenv/versions/3.8.2/envs/py382/lib/python3.8/site-packages/pynwrfc.libs/libsapucum-2461e767.so
/home/www-admin/.pyenv/versions/3.8.2/envs/py382/lib/python3.8/site-packages/pynwrfc.libs/libuuid-506df98b.so.1.3.0
/home/www-admin/.pyenv/versions/3.8.2/envs/py382/lib/python3.8/site-packages/pyrfc/*
Proceed (y/n)? y
Successfully uninstalled pynwrfc-2.0.6
and uninstall of the standard wheel:
$ pip uninstall pynwrfc
Found existing installation: pynwrfc 2.0.6
Uninstalling pynwrfc-2.0.6:
Would remove:
/home/www-admin/.pyenv/versions/3.8.2/envs/py382/lib/python3.8/site-packages/pynwrfc-2.0.6.dist-info/*
/home/www-admin/.pyenv/versions/3.8.2/envs/py382/lib/python3.8/site-packages/pyrfc/*
Proceed (y/n)? y
Successfully uninstalled pynwrfc-2.0.6
The libsapnwrfc
, libsapucum
and libuuid
are packed into universal wheel package, I assume as dependencies, so that the package can work on "any" Linux?
That makes another problem for pynwrfc
package because libsap*
libs must not be distributed inside the manylinux package. These libs must be separately acquired via SAP approved channel and installed on a target Linux systems as prerequisites. The manylinux should be shipped without SAP libs. Is that possible and how? Why is libuuid copied and can it be avoided, because that is also considered as a prerequisite for pynwrfc
package ?
Hey bsrdjan
I was able to workaround the error, instead of use auditwheel to repair and found the libraries for pyrfc I used patchelf manually to add and updates the rpath for pyrfc.cpython-36m-x86_64-linux-gnu.so, but just libsapnwrfc and libsapucum without libuuid, however you right pynwrfc must be downloaded only in an authorized way and not be distribuited as wheel or package but you can do it for internal use, in my case I'm testing it for Python Shell in AWS Glue, I can package PyRFC and deploy as .whl library with Glue Jobs, getting an ETL Serverless Solution with the benefits of a Managed Service such a Glue.
In regard your last question about why is copied as requisite for pynwrfc, My best guess is because auditwheel seach all linked libraries and in any way libuuid end as a linked and needed library for PyRFC.
I haven't tested connection yet (just import PyRFC library without errors) and I need to test more PyRFC functionality, I'll let you know.
The manylinux2014 wheel built on quay.io/pypa/manylinux2014_x86_64 docker image, can't be imported:
The original library dependencies look like this:
The
auditwheel repair
result looks like this:The libuuid on centos docker image:
Any ideas how to fix this?