[OpenBlockS Users page]
[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[obu:01430] Re: クロスコンパイルして作成したファイルを実行できない


はじめまして。藤井と申します。
(初めて投稿します)

> ちなみに、うちではRedHat 7.1のクロスコンパイル環境で
> 以下のようなメッセージ出されて実行できないと言う問題がでました。
> [user1@AAAServer user1]$ ./hello
> bash: ./hello: No such file or directory

私もOBSSで同様の問題に当たり、以下で解決しました。

ご参考までに。


通常、クロスコンパイラ環境(rpm)をそのまま
展開して、-staticオプションなしでコンパイルすると、
実行ファイルは、ld.so.1を、
/usr/local/obS/lib/ld.so.1を参照しに行きます。
しかしながら、OBSS上はld.so.1は/libの中にありますので、
あのようなメッセージとなるようです。
(実行ファイルをエディタで開いたら、分かります。)

ld.so.1は、確かld-linux.soか何かのリンクだったと
思いますので(実機が手元にないので確認しておりません)
1)/usr/local/obS/libディレクトリを作成
2)ld.so.1のリンク元について、上記ディレクトリ内に
    リンクを作成する
ことで解決しました。(実行できました)

もっとスマートな解決法があると思いますが、
とりあえず、上の方法で動きます。

flashcfgはtarボールを作るので、上記で作成したリンクファイルを
/etc/flashcfgに登録しておけば、再起動後も有効です。

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: