「fopen: そのようなファイルまたはディレクトリはありません」というエラー

「fopen: そのようなファイルまたはディレクトリはありません」というエラー

次のような不可解なエラーが発生します:

akshay@akshay-VirtualBox:/mnt/mmpp$ ./bin/metamap10

/mnt/mmpp/bin/SKRrun.10 -L 2010 /mnt/mmpp/bin/metamap10.BINARY.Linux -Z 10 --debug input.txt
fopen: No such file or directory

このエラーは、fopen が必要なファイルを見つけられないか、fopen 自体が存在しないことを意味します。SKRrun.10 と metamap10.BINARY.Linux の両方が正しい場所に存在することに注意してください。

私はこのソフトウェアを使用しています翻訳元Ubuntu 上で。

答え1

本当に知るには、ソフトウェアをデバッグする必要があります。ただし、fopenこれは標準のCライブラリ関数です(例を参照)。http://www.gnu.org/s/libc/manual/html_node/Opening-Streams.html#index-fopen-929) は、ファイルを読み取りまたは書き込み用に開くために使用されます。

表示されるエラー メッセージは、プログラムが を呼び出してfopen、呼び出しが失敗した場合によく表示されます。適切に動作するプログラムでは、開こうとしたファイルと、発生した障害の種類も出力されますが、このプログラムは明らかにそのようなプログラムではありません :-)。

したがって、おそらく、プログラムがファイルを開こうとしたが、開かなかったことを意味します (ファイルが見つからない / 権限の問題 / ディスクが火災に遭った / その他)。

さらに詳しく調べるには、strace参考文献) を実行すると、実行中のプログラムが行うすべてのシステム コールが (多かれ少なかれ) ログに記録されます。そこで、エラー メッセージの直前の fopen 呼び出しを探します。これが原因であるはずです。strace のログ出力にはファイル名が表示されます。

答え2

OSは64ビットですか、それとも32ビットですか?64ビットOSをお使いの場合、問題は64ビットシステム上の32ビットライブラリにある可能性があります。http://metamap.nlm.nih.gov/FAQ.html詳細については、Ubuntu 64ビット版を使用しています。以下の手順を実行すると、問題は解決しました: $ apt-get install ia32-libs

関連情報