libSSL と libcrypto のケアをする

アップデート後の再起動でアプリケーションが立ち上がらないことがあった。何だろうと思ってみてみると、libssl.so.1.1libcrypto.so.1.1がリンクされていなかった。

❯ ldd /home/paraselene92/QPeerCastYP/qpeercastyp
	linux-vdso.so.1 (0x00007ffecaff7000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f6158557000)
	libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00007f6157a00000)
	libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x00007f61578bf000)
    :
    :
	libssl.so.1.1 => not found
	libcrypto.so.1.1 => not found
    :
    :

存在していたと思われる、/usr/lib32/libssl.so.1.1を見てもファイルが存在しないのでアップデートの余波で削除されてしまったのか。サーバ(Ubuntu)の方のOpenSSLはケアしたのだけど、このPC(ArchLinux)は全く考えていなかった。いつぞやのpacman -Syuのタイミングで置き換わったのだろうか。

find / -name "libssl.so.1.1" で探してみたら、steamのライブラリに同梱されていたのでとりあえずシンボリックリンクを貼って急場を凌いでみた。シンボリックリンクを貼ったあと、最後に ldconfig する。

sudo ln -s /home/paraselene92/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/soldier_platform_0.20220927.0/files/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib32/libssl.so.1.1
sudo ln -s /home/paraselene92/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/soldier_platform_0.20220927.0/files/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib32/libcrypto.so.1.1
sudo ldconfig

not foundが消えてリンクされていたようだった。このあとアプリケーションも動いたので急場は凌げたかたちになる。

❯ ldd /home/paraselene92/QPeerCastYP/qpeercastyp
	linux-vdso.so.1 (0x00007ffe17297000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fa9d65c0000)
	libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00007fa9d5a00000)
	libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x00007fa9d58bf000)
    :
    :
	libssl.so.1.1 => /usr/lib32/libssl.so.1.1 (0x00007fa9d4c9e000)
	libcrypto.so.1.1 => /usr/lib32/libcrypto.so.1.1 (0x00007fa9d4800000)
    :
    :

と思っていたら、後日似たような事象が発生していて何だ何だと思ったら steam のディレクトリ名が変わっていて、シンボリックリンクが機能していないことになっていた。大人しくpacman -S openssl-1.1とかしたほうがよさそう。

© てっくらのーと/mkr-note 2024