64bit用 libncurses.so.5 libXpm.so.4 などを(強制的に)インストールする@fedora39
まず結論
libncurses.so.5 (64bit)
$ sudo dnf install ncurses-compat-libs.x86_64
もうひとつ
libXpm.so.4 (64bit)
$ sudo dnf install https://dl.fedoraproject.org/pub/fedora/linux/updates/39/Everything/x86_64/Packages/l/libXpm-3.5.17-1.fc39.x86_64.rpm
libXpm は3.5.14以前にバグがありますhttps://gitlab.freedesktop.org/xorg/lib/libxpm/-/merge_requests/9
念のためアップデート
$ sudo dnf update
$ sudo systemctl reboot # いちいち要らないかも
dnf に64bit版を選択的にインストールするオプションがありそうw
SAC (sac 102.0) を fedora39 にて起動する際に libXpm.so.4 と libncurses.so.5 がないよと怒られたので入れていった際のメモ。
IRISに送って頂いた tarball (64bit用) をREADMEに従って /usr/local/ に置き、~/.bashに所定の文を書き加えるなど一通り済ませた後の話
本文ここまで 以下駄文
以下、長い前置きとか本文とか 誰も読まないところ
ライブラリのファイル名は同じで /lib ディレクトリに格納されているが、 使用するアプリケーション自体は 64bit ゆえに /lib64 を参照しているために起こることがある
もちろん /lib から /lib64 へコピーしたりシンボリックリンクを作ったりしても動かない。 64bit用ライブラリをインストールする必要がある
・ぐぐる rpmfind や github にディストリビューションやバージョンが一致したものがあればそのままインストールできる模様
・i686用等が既にある場合はパッケージ名はおそらくその i686 を x86_64 に置き換えれば良いと想像して
$ sudo dnf install package-of-the-libs.x86_64
libncurses.so.5 の場合
$ sudo dnf install libncurses.so.5
親パッケージ名や i686 版が入れられてしまうことが分かる
$ sudo dnf install ncurses-compat-libs.x86_64
libncurses.so.5 (64bit)
$ sudo dnf install ncurses-compat-libs.x86_64
$ : error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
$ sudo dnf install libncurses.so.5
Package Architecture Version Repository Size
========================================================================================================================Installing:
ncurses-compat-libs i686 6.4-7.20230520.fc39 fedora 353 k
Installing dependencies:
libstdc++ i686 13.2.1-6.fc39 updates 931 k
Transaction Summary
========================================================================================================================Install 2 Packages
Total download size: 1.3 M
Installed size: 3.8 M
Is this ok [y/N]: n
x86_64 ではないので、ここはNO、ただ x86_64 のパッケージ名が推定できる
$ sudo dnf install ncurses-compat-libs.x86_64
Package Architecture Version Repository Size
========================================================================================================================Installing:
ncurses-compat-libs x86_64 6.4-7.20230520.fc39 fedora 331 k
Transaction Summary
========================================================================================================================Install 1 Package
Total download size: 331 k
Installed size: 1.1 M
キタ! x86_64 アーキテクチャ用である。
もちろん yes
Is this ok [y/N]: y
一応確認
$ sudo ls -l /lib64/libncurses.so.5
ついでに、/lib/libncurses.so.5 と見比べると、ファイル名こそ同じでありながらファイルサイズもタイムスタンプも、そしてきっと中身も、別物であることが分かります
他のlibファイルも同名アーキテクチャ違いが存在します
$ sudo ls -l /lib/ncurses.so.5
libXpm.so.4 (64bit)
$ sudo dnf install https://rpmfind.net/linux/fedora/linux/releases/39/Everything/x86_64/os/Packages/l/libXpm-3.5.15-4.fc39.x86_64.rpm
$ <エラーを吐いている64bitアプリケーション> : error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directory
rpmfind から拾ってきた
$ sudo dnf install https://rpmfind.net/linux/fedora/linux/releases/39/Everything/x86_64/os/Packages/l/libXpm-3.5.15-4.fc39.x86_64.rpm