|
LD_RUN_PATH の呪縛から解き放つ
|
| RPATH って? |
ld.so.1: ./hogehoge: 重大なエラー: libhoge.so.1: open に失敗しました: ファイルもディレクトリもありません。 強制終了なんちゅーものがでて困っちゃうよね?
オリジナルのソースは、ftp://ftp.cse.buffalo.edu/users/milun/Solaris/setrpath.c。
ソースコード:
setrpath.c (64 bit バイナリ対応パッチ適用済み), setrpath.c を 64 bit binary に対応するパッチ
(パッチ適用済みソースは、以前のものを破棄し、最新のパッチを適用したものとなっています。)
2ch UNIX 板「Solaris 教えてスレッド 其の7」で、名無しさんが64 bit binary で使えるようにしたパッチを作成し、張り付けていらっしゃいました。
32 bit binary な setrpath で、64 bit binary の RPATH を書き換えられます。
参照: http://pc.2ch.net/test/read.cgi/unix/1023814110/482
グッ(・∀・)ジョブ!
作り方
$ gcc -o setrpath setrpath.c -lelf
で、使い方
setrpath -r ELF_executable