Details
Description
Similar to MB-26187, it appears that on Debian9, we are unable to load mapreduce_nif from cluster_run.
Looks like it is not able to find libicui18n.so
LD_DEBUG=all /lib64/ld-linux-x86-64.so.2 --list ./install/lib/couchdb/erlang/lib/mapreduce-1.0/priv/mapreduce_nif.so
|
3653: file=libicui18n.so [0]; needed by /home/aman/couch/install/lib/libv8.so [0]
|
3653: find library=libicui18n.so [0]; searching
|
3653: search cache=/etc/ld.so.cache
|
3653: search path=/lib/x86_64-linux-gnu/tls/x86_64:/lib/x86_64-linux-gnu/tls:/lib/x86_64-linux-gnu/x86_64:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/tls/x86_64:/usr/lib/x86_64-linux-gnu/tls:/usr/lib/x86_64-linux-gnu/x86_64:/usr/lib/x86_64-linux-gnu:/lib/tls/x86_64:/lib/tls:/lib/x86_64:/lib:/usr/lib/tls/x86_64:/usr/lib/tls:/usr/lib/x86_64:/usr/lib (system search path)
|
3653: trying file=/lib/x86_64-linux-gnu/tls/x86_64/libicui18n.so
|
3653: trying file=/lib/x86_64-linux-gnu/tls/libicui18n.so
|
3653: trying file=/lib/x86_64-linux-gnu/x86_64/libicui18n.so
|
3653: trying file=/lib/x86_64-linux-gnu/libicui18n.so
|
3653: trying file=/usr/lib/x86_64-linux-gnu/tls/x86_64/libicui18n.so
|
3653: trying file=/usr/lib/x86_64-linux-gnu/tls/libicui18n.so
|
3653: trying file=/usr/lib/x86_64-linux-gnu/x86_64/libicui18n.so
|
3653: trying file=/usr/lib/x86_64-linux-gnu/libicui18n.so
|
3653: trying file=/lib/tls/x86_64/libicui18n.so
|
3653: trying file=/lib/tls/libicui18n.so
|
3653: trying file=/lib/x86_64/libicui18n.so
|
3653: trying file=/lib/libicui18n.so
|
3653: trying file=/usr/lib/tls/x86_64/libicui18n.so
|
3653: trying file=/usr/lib/tls/libicui18n.so
|
3653: trying file=/usr/lib/x86_64/libicui18n.so
|
3653: trying file=/usr/lib/libicui18n.so
|
3653:
|
./install/lib/couchdb/erlang/lib/mapreduce-1.0/priv/mapreduce_nif.so: error while loading shared libraries: libicui18n.so: cannot open shared object file: No such file or directory
|
Note that while the RUNPATH of mapreduce_nif.so is properly set,
aman@server279:~/couch$ readelf --dynamic ./install/lib/couchdb/erlang/lib/mapreduce-1.0/priv/mapreduce_nif.so | grep RUNPATH
|
0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/../lib:/home/aman/couch/install/lib:/home/aman/couch/install/lib/memcached]
|
libicui18n.so is setting its own RUNPATH incorrectly.
aman@server279:~/couch$ readelf --dynamic ./install/lib/libicui18n.so | grep RUNPATH
|
0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN:/home/couchbase/jenkins/workspace/cbdeps-platform-build/deps/packages/build/icu4c/install/lib]
|
Requesting the build-team to look into the issue to correctly set the RUNPATH of libicui18n.so during the build process.