新しいサーバーをセットアップして Virtuoso を入れるのは毎回大騒ぎである.(正確には CentOS 7 が入っていたマシンを AlmaLinux 9.6 にアップグレードした)
lsb_release が無いので Linux のバージョンがわからないと言われる.RHEL9系の標準のリポジトリには lsb_release が無いので EPEL を使う.
https://rhel.pkgs.org/9/epel-aarch64/lsb_release-3.2-2.el9.noarch.rpm.html
https://www.server-memo.net/almalinux/almalinux9_epelrepo.html
% dnf install -y dnf-plugins-core
% dnf config-manager --enable crb
% dnf -y install epel-release
% dnf install -y epel-next-release
% dnf install -y lsb_release
libcrypto.so.10 が無いといわれる.RHEL9 系では compat-openssl11 になってしまった.RHEL8 向けの RPM を入れる.
https://forums.almalinux.org/t/almalinux-9-cant-find-libcrypto-so-10-or-libssl-so-10/3952/4
https://www.rpmfind.net/linux/rpm2html/search.php?query=libcrypto.so.10()(64bit)
% dnf install compat-openssl10-1.0.2o-4.el8_10.1.x86_64.rpm
libdb-4.7 も必要だが 5.3 しかないので RPM を落として入れる.
https://amazonlinux.pkgs.org/2/amazonlinux-core-x86_64/compat-db47-4.7.25-28.amzn2.x86_64.rpm.html
https://amazonlinux.pkgs.org/2/amazonlinux-core-x86_64/compat-db-headers-4.7.25-28.amzn2.noarch.rpm.html
% dnf install compat-db47-4.7.25-28.amzn2.x86_64.rpm compat-db-headers-4.7.25-28.amzn2.noarch.rpm
あとは地道に virtuoso 起動 → シェアードオブジェクト無い → dnf provides "シェアードオブジェクト" → パッケージを見つけて dnf install を繰り返す.dnf provides で出てきたパッケージが i686 だったりするが,これは x86_64 に読み替えてインストールする.
dlopen failed to open 'libdb.so' と言われる. /lib64/libdl.so が無いので /lib64/libdl.so.2 をスタティックリンクしてあげる.以下がヒントになった.
https://www.linuxquestions.org/questions/linux-newbie-8/dlopen-failed-to-open-%27libdl-so-error-4175493930/
% sudo ln -s /lib64/libdl.so.2 /lib64/libdl.so
最初 Cadence Community の議論から db4-devel-4.7 (そのためにdb4とdb4-cxxも必要)を入れると良さそうと思って頑張って入れたのだが変化無かった.RHEL6 の RPM 入れたからかもだが….
https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/31432/cadence-ic-base-6-15-011-hotfix-6-15-171-problem
64bit バイナリで動かすなら「環境変数 CDS_AUTO_64BIT をALL」も必要かもしれない.
https://www.anagix.com/gijutsu-memo/artistmemo/ic617dedlopenfailedtoopenlibdlsoerror
入れるだけ入れたが,キーボード入力がおかしい.qwerty が c.gvn になってしまう.後半に続く.