まれにしかないことなのですが、ソースコードが入手できなかったり、さまざまな 要因で ELF バイナリでは構築不可能であるという理由で a.out バイナリを使う 必要に迫られることがあります。
折よく、大抵は ELF のインストールのときに a.out の完全なライブラリが /usr/i486-linuxaout/lib ディレクトリにインストールされます。 理論的に、 a.out のバイナリはこれらのライブラリをランタイムライブラリとして 読み出すので、読み出せるようにしておかなければなりません。しかし、常に ランタイムライブラリを使用するとは限りません。
注意:a.out バイナリを実行するにはカーネルに直接、またはローダブル モジュールとして a.out のサポートを設定してカーネルを構築する必要があります。 カーネルを再構築する必要があるかもしれません。さらに、 Linux の ディストリビューションによっては Debian の a.out の X アプリケーションを 実行するための xcompat のような特別な互換性維持のためのパッケージを インストールする必要があります。
何年か前に Jerry Smith が非常に便利な rolodex というプログラムを書きました。 そのプログラムは Motif ライブラリを使用しますが、好運なことに a.out の ライブラリを静的リンクしてあるバイナリを入手することができます。不幸な ことは、 lesstif ライブラリを使ってソースを再構築すると失敗するということ です。さらに不幸なことに ELF システムでは a.out のバイナリということが 爆弾となり次のようなエラーメッセージが出力されます。
xrolodex: can't load library '//lib/libX11.so.3'
No such library
たまたま、 /usr/i486-linuxaout/lib にそういう名前のライブラリがあります。 しかし、 xrolodex は実行時にライブラリの位置を指定することができません。 単純な解決法はシンボリックリンクを /lib ディレクトリに作ることです。
ln -s /usr/i486-linuxaout/lib/X11.so.3.1.0 libX11.so.3
必要に応じて libXt.so.3 と libc.so.4 についても同様にシンボリックリンクを 作りました。もちろん、この作業は root になる必要があります。
注意:絶対にあらかじめインストールされているライブラリを上書きしたり、 バージョンの競合を起こしたりしないように確かめるようにしてください。
xrolodex は Spectro( http://www.spectro.com/xrolodex.html) から入手できます。