bowkin icon indicating copy to clipboard operation
bowkin copied to clipboard

patching dynamically loaded libraries

Open bertsky opened this issue 4 years ago • 0 comments

Forgive me if the question is stupid: Is it possible to patch the libc requirements for a shared library without .interp section, too?

I get:

/venv/lib/python3.8/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so-amd64-2.28-10
patchelf: cannot find section '.interp'. The input file is most likely statically linked

Now I know that library is not statically linked, because ldd tells me so:

/venv/lib/python3.8/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so-amd64-2.28-10: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /venv/lib/python3.8/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so-amd64-2.28-10)
/venv/lib/python3.8/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so-amd64-2.28-10: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /venv/lib/python3.8/site-packages/tensorflow_core/python/../libtensorflow_framework.so.1)
	linux-vdso.so.1 (0x00007fff28ee9000)
	libtensorflow_framework.so.1 => /venv/lib/python3.8/site-packages/tensorflow_core/python/../libtensorflow_framework.so.1 (0x00007fb020666000)
	libiomp5.so => /venv/lib/python3.8/site-packages/tensorflow_core/python/../../_solib_local/_U@mkl_Ulinux_S_S_Cmkl_Ulibs_Ulinux___Uexternal_Smkl_Ulinux_Slib/libiomp5.so (0x00007fb020271000)
	libmklml_intel.so => /venv/lib/python3.8/site-packages/tensorflow_core/python/../../_solib_local/_U@mkl_Ulinux_S_S_Cmkl_Ulibs_Ulinux___Uexternal_Smkl_Ulinux_Slib/libmklml_intel.so (0x00007fb0187df000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb0187b6000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb0187aa000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb018627000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb018606000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb018482000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb018468000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb0182a7000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb04bc64000)

(Context is https://github.com/ppwwyyxx/tensorflow-wheels/issues/2)

bertsky avatar Nov 27 '21 23:11 bertsky