先日リリースされた、BDS 1.7.0のLinux(Ubuntu 16.04)にてエラーが起こった。
#注意
初稿で内容に大幅な誤りがありました、修正したのですがご注意ください。
#症状
/foo/bedrock_server: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /foo/bedrock_server)
/foo/bedrock_server: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /foo/bedrock_server)
解決はgccだとか、libstdc++6 を更新すればよい。
#libstdc++6の更新
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update -y
sudo apt upgrade -y
#glibc2.27の更新
ldd bedrock_server
./bedrock_server: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by ./bedrock_server)
ふむふむ。
これ http://ubuntu.cs.utah.edu/ubuntu/pool/main/g/glibc/libc6_2.27-3ubuntu1_amd64.deb
をダウンロードして、data.tar.xzの中の ./lib/x86_64-linux-gnu/から
libm.so.6とlibm-2.27.soを
bedrock_server(実行ファイル)と同ディレクトリに設置した上で、
LD_LIBRARY_PATH=. ./bedrock_server
コピペすれば完了。
/libにあるやつよりも先に、新たに設置されたやつよりも優先的に読み込みます。
コレで直るはず。