[erlang-questions] "'check-rpaths' detected a broken RPATH" in crypto.so

Aleksandr Vinokurov aleksandr.vin@REDACTED
Tue May 28 16:55:25 CEST 2013


Hello guys,

I'm building an RPM for RHEL 5 x64_86 and got this error by check-rpaths:

ERROR   0001: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains a
standard rpath '/usr/lib64' in [/usr/lib64:/usr/loc\
al/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/ssl/l\
ib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib/ope\
nssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/local/lib64' in [/usr/lib64:/u\
sr/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local\
/ssl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/l\
ib/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/sfw/lib64' in [/usr/lib64:/usr\
/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/s\
sl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib\
/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/opt/local/lib64' in [/usr/lib64:/u\
sr/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local\
/ssl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/l\
ib/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/pkg/lib64' in [/usr/lib64:/usr\
/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/s\
sl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib\
/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/local/openssl/lib64' in [/usr/\
lib64:/usr/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/u\
sr/local/ssl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/li\
b:/usr/lib/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/local/ssl/lib64' in [/usr/lib6\
4:/usr/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/l\
ocal/ssl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/u\
sr/lib/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/ssl/lib64' in [/usr/lib64:/usr\
/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/s\
sl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib\
/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/local/lib' in [/usr/lib64:/usr\
/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/s\
sl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib\
/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/sfw/lib' in [/usr/lib64:/usr/l\
ocal/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/ssl\
/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib/o\
penssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0001: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains a
standard rpath '/usr/lib' in [/usr/lib64:/usr/local\
/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/ssl/lib\
64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib/opens\
sl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/opt/local/lib' in [/usr/lib64:/usr\
/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/s\
sl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib\
/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/pkg/lib' in [/usr/lib64:/usr/l\
ocal/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/ssl\
/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib/o\
penssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/local/openssl/lib' in [/usr/li\
b64:/usr/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr\
/local/ssl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:\
/usr/lib/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/openssl/lib' in [/usr/lib64:/u\
sr/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local\
/ssl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/l\
ib/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/local/ssl/lib' in [/usr/lib64:\
/usr/local/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/loc\
al/ssl/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr\
/lib/openssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]
ERROR   0002: file
'/usr/local/lib/erlang/lib/crypto-2.3/priv/lib/crypto.so' contains an
invalid rpath '/usr/ssl/lib' in [/usr/lib64:/usr/l\
ocal/lib64:/usr/sfw/lib64:/opt/local/lib64:/usr/pkg/lib64:/usr/local/openssl/lib64:/usr/lib/openssl/lib64:/usr/openssl/lib64:/usr/local/ssl\
/lib64:/usr/lib/ssl/lib64:/usr/ssl/lib64:/usr/local/lib:/usr/sfw/lib:/usr/lib:/opt/local/lib:/usr/pkg/lib:/usr/local/openssl/lib:/usr/lib/o\
penssl/lib:/usr/openssl/lib:/usr/local/ssl/lib:/usr/lib/ssl/lib:/usr/ssl/lib]


I've found the specific config in
otp_src_R16B/lib/crypto/c_src/x86_64-unknown-linux-gnu/Makefile:

ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
SSL_DED_LD_RUNTIME_LIBRARY_PATH = -Wl,-R/usr/lib64 -Wl,-R/usr/local/lib64
-Wl,-R/usr/sfw/lib64 -Wl,-R/opt/local/lib64 -Wl,-R/usr/pkg/lib64 \
-Wl,-R/usr/local/openssl/lib64 -Wl,-R/usr/lib/openssl/lib64
-Wl,-R/usr/openssl/lib64 -Wl,-R/usr/local/ssl/lib64
-Wl,-R/usr/lib/ssl/lib64 -W\
l,-R/usr/ssl/lib64 -Wl,-R/usr/local/lib -Wl,-R/usr/sfw/lib -Wl,-R/usr/lib
-Wl,-R/opt/local/lib -Wl,-R/usr/pkg/lib -Wl,-R/usr/local/openssl/\
lib -Wl,-R/usr/lib/openssl/lib -Wl,-R/usr/openssl/lib
-Wl,-R/usr/local/ssl/lib -Wl,-R/usr/lib/ssl/lib -Wl,-R/usr/ssl/lib


Is it really needed to have hardcoded RPATHS there?

Will appreciate any clearance on this issue.

-- 
Aleksandr Vinokurov
+7 (921) 982-21-43
@aleksandrvin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130528/7691b25a/attachment.htm>


More information about the erlang-questions mailing list