我正在尝试构建一个用于安装的 dockerfile萨普菲克在 Alpine linux 基础镜像上。
说明显示创建/etc/ld.so.conf.d/nwrfcsdk.conf
并放入/usr/local/sap/nwrfcsdk/lib
文件nwrfcsdk.conf
。然后 ldconfig 应加载 saprfc 库。
但是,我了解到 Alpine 上的 ldconfig 不读取ld.so.conf.d
.ldconfig -p
也不是一个公认的选项。
那么如何在 Alpine Linux 上添加自定义库搜索路径呢?
答案1
这对我有用。我的 java 需要额外的库路径才能使 setcap 工作:
echo "/lib:/usr/local/lib:/usr/lib:/usr/lib/jvm/default-jvm/jre/lib/amd64:/usr/lib/jvm/default-jvm/jre/lib/amd64/jli:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server" > /etc/ld-musl-x86_64.path
从穆斯林手册:
../etc/ld-musl-$(ARCH).path, taken relative to the location of
the "program interpreter" specified in the program's headers -
if present, this will be processed as a text file containing
the shared library search path, with components delimited by
newlines or colons. If absent, a default path of
"/lib:/usr/local/lib:/usr/lib" will be used.
Not used by static-linked programs.
ld 使用的确切路径可能与您的拱门不同,我通过执行以下操作找到了我的路径:
# strace java ... 2>&1 | grep ld
open("/etc/ld-musl-x86_64.path", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)