ubi8 images: Use LIBDIR instead of hard-coded /usr/lib
The UBI8 builder defines LIBDIR to /usr/lib64, so we should use that constant to be consistent.
This may be a prerequisite to compile jemalloc with Ruby. Since jemalloc
uses LIBDIR by default, jemalloc libraries are installed in /usr/lib64.
jemalloc does not compile properly with /usr/lib; the configure process
isn't able to determine the length of a long long
.
Ruby also does not compile properly if jemalloc is in /usr/lib64 and Ruby is using /usr/lib.
Before
$ ldd /usr/bin/ruby
linux-vdso.so.1 (0x00007fff0cbfc000)
libruby.so.2.7 => /usr/lib/libruby.so.2.7 (0x00007f6c00640000)
libz.so.1 => /lib64/libz.so.1 (0x00007f6c00429000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6c00209000)
librt.so.1 => /lib64/librt.so.1 (0x00007f6c00000000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f6bffdfc000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f6bffbd3000)
libm.so.6 => /lib64/libm.so.6 (0x00007f6bff851000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6bff48f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6c00be8000)
After
Notice libruby.so.2.7
is an outlier; it should be in /usr/lib64
:
$ ldd /usr/bin/ruby
linux-vdso.so.1 (0x00007ffe1cc9c000)
libruby.so.2.7 => /usr/lib64/libruby.so.2.7 (0x00007fea38793000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00007fea3857c000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fea3835c000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007fea38153000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fea37f4f000)
libcrypt.so.1 => /usr/lib64/libcrypt.so.1 (0x00007fea37d26000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007fea379a4000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007fea375e2000)
/lib64/ld-linux-x86-64.so.2 (0x00007fea38d3b000)
Edited by Stan Hu