Hi, me once more.
Just struggled over an option we use for cmake:
-DCMAKE_SKIP_RPATH=On
which probably does exactly what you want?
Cheers,
Willi
On Monday, July 25, 2016 at 11:15:35 PM UTC+2, Dmitri Dmitrienko wrote:
>
> Hi there,
>
> make install makes unexpected changes in rpath. In my case, according to
> corporate rules, gcc4.9.3 is installed in /opt/ncbi/gcc/4.9.3
> It means that the libraries for this compiler are
> in /opt/ncbi/gcc/4.9.3/lib. This is perfectly recognized by cmake and
> compiled binaries in build/ArangoDB-3.0.3/build/bin subdirectory show
> correct path to .so objects:
> bash-4.2$ ldd ./arangod
> linux-vdso.so.1 => (0x00007ffdcb234000)
> libssl.so.10 => /lib64/libssl.so.10 (0x00007f7164331000)
> libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f7163f49000)
> libdl.so.2 => /lib64/libdl.so.2 (0x00007f7163d45000)
> libjemalloc.so.1 => /lib64/libjemalloc.so.1 (0x00007f7163b10000)
> libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f71638f6000)
> librt.so.1 => /lib64/librt.so.1 (0x00007f71636ee000)
> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f71634d1000)
> libstdc++.so.6 => /opt/ncbi/gcc/4.9.3/lib64/libstdc++.so.6
> (0x00007f71631c7000)
>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> libm.so.6 => /lib64/libm.so.6 (0x00007f7162ec5000)
> libgcc_s.so.1 => /opt/ncbi/gcc/4.9.3/lib64/libgcc_s.so.1
> (0x00007f7162cad000)
>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> libc.so.6 => /lib64/libc.so.6 (0x00007f71628eb000)
> libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2
> (0x00007f716269f000)
> libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f71623b9000)
> libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f71621b5000)
> libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f7161f83000)
> libz.so.1 => /lib64/libz.so.1 (0x00007f7161d6c000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f71645bf000)
> libkrb5support.so.0 => /lib64/libkrb5support.so.0
> (0x00007f7161b5d000)
> libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f7161958000)
> libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f7161733000)
> libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f71614d1000)
> liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f71612ac000)
>
> everything was fine until I tried to install these binaries using make
> install...
> The installed binaries won't run showing unresolved entries in
> libstdc++.so.6
> bash-4.2$ ./arangod
> ./arangod: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found
> (required by ./arangod)
> ./arangod: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
> (required by ./arangod)
>
> it's because rpath was updated to /lib64:
>
> bash-4.2$ ldd ./arangod
> ./arangod: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found
> (required by ./arangod)
> ./arangod: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
> (required by ./arangod)
> linux-vdso.so.1 => (0x00007ffcd4115000)
> libssl.so.10 => /lib64/libssl.so.10 (0x00007f5b87ceb000)
> libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f5b87902000)
> libdl.so.2 => /lib64/libdl.so.2 (0x00007f5b876fe000)
> libjemalloc.so.1 => /lib64/libjemalloc.so.1 (0x00007f5b874ca000)
> libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f5b872af000)
> librt.so.1 => /lib64/librt.so.1 (0x00007f5b870a7000)
> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5b86e8b000)
> libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f5b86b82000)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> libm.so.6 => /lib64/libm.so.6 (0x00007f5b86880000)
> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f5b8666a000)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> libc.so.6 => /lib64/libc.so.6 (0x00007f5b862a7000)
> libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2
> (0x00007f5b8605b000)
> libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f5b85d76000)
> libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f5b85b71000)
> libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f5b8593f000)
> libz.so.1 => /lib64/libz.so.1 (0x00007f5b85729000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f5b87f78000)
> libkrb5support.so.0 => /lib64/libkrb5support.so.0
> (0x00007f5b85519000)
> libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f5b85315000)
> libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f5b850ef000)
> libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f5b84e8e000)
> liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f5b84c69000)
>
> If I copy binaries in build/ArangoDB-3.0.3/build/bin over the installed,
> they work fine.
>
> Question - is there a way to avoid updating rpath as a part of make
> install?
> In Arangodb 2.0.10/11 this worked good and rpath wasn't updated.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"ArangoDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.