"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가 모두 올바른 위치에 있다는 점에 유의하세요.

나는 이 소프트웨어를 사용하고 있습니다http://metamap.nlm.nih.gov/우분투에서.

답변1

실제로 알기 위해서는 소프트웨어를 디버깅해야 합니다. 그러나 fopen표준 C 라이브러리 함수입니다(예:http://www.gnu.org/s/libc/manual/html_node/Opening-Streams.html#index-fopen-929)은 파일을 읽거나 쓰기 위해 여는 데 사용됩니다.

fopen프로그램이 을 호출 하고 호출이 실패 하면 표시되는 오류 메시지가 인쇄되는 경우가 많습니다 . 적절하게 동작하는 프로그램은 어떤 파일을 열려고 했는지, 어떤 종류의 오류가 발생했는지 출력하지만 이 프로그램은 분명히 그런 프로그램은 아닙니다 :-).

따라서 이는 아마도 프로그램이 파일을 열려고 시도했지만 열 수 없다는 의미일 것입니다(파일을 찾을 수 없음 / 권한 문제 / 디스크에 불이 붙음 등).

더 자세히 조사하려면 strace(https://wiki.ubuntu.com/Strace) , 이는 실행 중인 프로그램이 수행하는 모든 시스템 호출을 (다소) 기록합니다. 거기에서 오류 메시지 직전에 fopen에 대한 호출을 찾을 수 있습니다. 이것이 범인이어야 합니다. strace의 로그 출력에 파일 이름이 표시됩니다.

답변2

귀하의 OS가 64비트입니까, 아니면 32비트입니까? 64비트 OS를 실행하는 경우 64비트 시스템의 32비트 라이브러리에 문제가 있을 수 있습니다. 참고하세요http://metamap.nlm.nih.gov/FAQ.html자세한 내용은. 저는 우분투 64비트를 사용합니다. $ apt-get install ia32-libs 지침을 따르면 문제가 해결되었습니다.

관련 정보