在 Ubuntu 15.10 服务器上安装 Elrang/OTP 后,
sudo apt-get install build-essential
sudo apt-get --fix-missing -y install build-essential m4 libncurses5-dev libssh-dev unixodbc-dev libgmp3-dev libwxgtk2.8-dev libglu1-mesa-dev fop xsltproc default-jdk
sudo apt-get --fix-missing -y install build-essential m4 libncurses5-dev libssh-dev unixodbc-dev libgmp3-dev libwxgtk2.8-dev libglu1-mesa-dev fop xsltproc default-jdk
wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_18.3-1~ubuntu~wily_amd64.deb
sudo dpkg -i esl-erlang_18.3-1~ubuntu~wily_amd64.deb
sudo apt-get update
sudo apt-get install esl-erlang
sudo apt-get install elixir
我在运行我的一个应用程序时出现错误:
: error while loading shared libraries: libncursesw.so.6: cannot open shared object file: No such file or directory
更新:
$ locate libncursesw5
/usr/share/doc/libncursesw5
/var/lib/dpkg/info/libncursesw5:amd64.list
/var/lib/dpkg/info/libncursesw5:amd64.md5sums
/var/lib/dpkg/info/libncursesw5:amd64.postinst
/var/lib/dpkg/info/libncursesw5:amd64.postrm
/var/lib/dpkg/info/libncursesw5:amd64.shlibs
/var/lib/dpkg/info/libncursesw5:amd64.symbols
$ locate libncursesw
/lib/x86_64-linux-gnu/libncursesw.so.5
/lib/x86_64-linux-gnu/libncursesw.so.5.9
/usr/share/doc/libncursesw5
/var/lib/dpkg/info/libncursesw5:amd64.list
/var/lib/dpkg/info/libncursesw5:amd64.md5sums
/var/lib/dpkg/info/libncursesw5:amd64.postinst
/var/lib/dpkg/info/libncursesw5:amd64.postrm
/var/lib/dpkg/info/libncursesw5:amd64.shlibs
/var/lib/dpkg/info/libncursesw5:amd64.symbols
答案1
我认为您还需要安装该libncursesw5
软件包:
sudo apt install libncursesw5 libncursesw5-dev
然后尝试运行给出“加载共享库时出错”的命令。
更新:如果您安装了这些软件包但仍然出现错误,则可能是因为您的软件需要版本 6 libncursesw
,但 Ubuntu 中只有版本 5。(请参阅https://bbs.archlinux.org/viewtopic.php?id=202562,这是同样的问题,但在 Arch Linux 上。)
作为一种可行的解决方法,你可以创建一个符号链接,这样你的软件想安装了版本 6,即使它实际上使用的是版本 5:
sudo ln -s /lib/x86_64-linux-gnu/libncursesw.so.5 /lib/x86_64-linux-gnu/libncursesw.so.6
这不是最优雅的解决方案,但可能有用。如果你选择这样做,请记住将其记录在某处,以防以后升级 Ubuntu 时遇到任何问题。
如果这有帮助或者您还有其他问题,请告诉我。
答案2
一般来说,对于缺少的*.so.6
共享依赖项,软件包版本名称中应该包含 6,而不是 5,因此在这种情况下(运行时错误:)libncursesw.so.6: cannot open shared object file
我必须安装(在我的“distroless”容器中)该libncursesw6
软件包:
sudo apt update && sudo apt install -y libncursesw6
答案3
对于我的特定环境,修复如下:
# Note: add sudo if needed:
ln -fs /lib/x86_64-linux-gnu/libncursesw.so.6 /opt/conda/lib/libncursesw.so.6