2020年にLinuxでNetscapeを実行するには?
これは私のプロジェクトのためのものであり、香水のためのものでもあります。
最新のnetscape navigator 9.0 i386をダウンロードして解凍しましたが、起動できません。
./navigator ./navigator-bin: 共有ライブラリの読み込みエラー: libgtk-x11-2.0.so.0: 共有オブジェクトファイルを開けません。そのファイルまたはディレクトリはありません。
どのように動作させることができますか?ドッカーのようなものが必要ですか?
私はArchiLinux 64ビットを使用しています。
答え1
ldd
実行可能ファイルが表示されると予想される内容を確認するために使用されます。見つからないライブラリをすべて見つけます。
- 配布用のライブラリファイルを提供するパッケージを見つけてダウンロードしてインストールします。
- 正しいバージョンが見つからない場合は、正確なファイル名の偽のシンボリックリンクを最も類似した.soライブラリにリンクしてみてください。
- それでも見つからない場合は、古いライブラリを含むdeb / rpm / whateverパッケージを見つけて手動でインストールしてください。 (deb / rpmの内部を見て、
mc
必要なこのファイルをコピーしたい場合があります。場合によっては、他の.soなしでコンパイルされる.soが発生する可能性があるため、1からプロセスを開始する必要があります。特定の図書館について。 - これが失敗した場合(十分な操作で動作する必要があります - 32/64カーネルへのシステムコールは長年変更されていません - Linuxカーネル全体との互換性の問題です)、それを実行する古いLinuxディストリビューションをインストールしてコンパイルする必要があります。静的にこのライブラリだけでなく、Netscapeパッケージ全体も静的にリンクされたファイルを使用する新しいシステムで使用されます。
- 代わりに、新しいシステムで製品をサポートする古いシステムのソースコードパッケージを使用し、新しいシステムでビルド(および新しいライブラリへのリンク)を行うことができます。
- 何らかの理由でこれがうまくいかない場合は、目的の製品を含むDockerコンテナを見つけてビルドしてください。 Dockerはまさにこの目的のために作られたので、これが実際に行くことができる方法です。
これはあなたを開始させます。ほとんどの場合、ライブラリは不足している古いバイナリブロブを実行する必要があります。消えたシンボル。また、64/32ビットの違いに注意してください。 64ビットx86コードは32ビットx86とはまったく異なります。もう一つの問題は、Netscapeのようなパッケージに多くのバイナリがあり、ほとんどがldd
。
(ところで、これが純粋な必要性というよりも本当に香水を呼び起こすのでしょうか?)
答え2
GTK2ライブラリのi686バージョンが必要です。ディストリビューションを指定していないので、インストール方法を言うのは難しいです。
Fedora 33では:
dnf install gtk2.i686
Ubuntu/Debian/Mint/などの場合。これはうまくいくかもしれません:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libgtk2.0-0:i386