在alpine 3.3下ldconfig似乎没有功能

per*_*gee 12 dockerfile alpine-linux

我目前在golang:1.6.2-alpine docker容器上安装了goczmq(https://github.com/zeromq/goczmq),如下所示:

wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.10.tar.gz
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.10.tar.gz.sig
wget https://download.libsodium.org/jedi.gpg.asc
gpg --import jedi.gpg.asc
gpg --verify libsodium-1.0.10.tar.gz.sig libsodium-1.0.10.tar.gz
tar zxvf libsodium-1.0.10.tar.gz
cd libsodium-1.010.
./configure; make check
sudo make install
sudo ldconfig
Run Code Online (Sandbox Code Playgroud)

这个过程失败了ldconfig,似乎有一个命令ldconfig,但我不认为它实际上是功能性的.任何见解?先感谢您.

Ben*_*her 12

Alpine的ldconfig版本要求您将目标文件夹或库指定为参数.请注意,alpine没有/etc/ld.so.conf文件,如果您创建它也不会识别它.

没有目标路径的示例:

$ docker run -ti alpine sh -c "ldconfig; echo \$?"
1
Run Code Online (Sandbox Code Playgroud)

目标路径示例:

$ docker run -ti alpine sh -c "ldconfig /; echo \$?"
0
Run Code Online (Sandbox Code Playgroud)

但是,即便如此,也经常会出现链接错误.其他人建议:

  • 供参考:alpine不使用/etc/ld.so.conf,但是可以使用名为/etc/ld-musl-$(ARCH).path的类似文件,即/etc/ld-musl-x86_64.path。_如果存在,它将作为包含共享库搜索路径的文本文件进行处理,其组成部分由换行符或冒号分隔。如果不存在,将使用默认路径“ /lib:/usr/local/lib:/usr/lib”。_-https://www.musl-libc.org/doc/1.0.0/manual.html (3认同)