제 위치에 있는 명령어인데도 No such file or directory
글쓴이: scred / 작성시간: 금, 2007/07/20 - 4:00오후
Ubuntu 7.04를 사용하고 있습니다.
연구용 프로그램을 설치해서 사용하고 있습니다.
예를 들면,
~/program/bin/research
라는 명령어가 있고, 이 디렉토리를 PATH에 설정해두고 있습니다.
그래서, 이 명령어를 실행시키면, tab으로 명령어가 자동완성될만큼 제대로 찾아지는데,
정작 실행시키고 나면,
~/program/bin/research : No such file or directory
라고 나오면서 실행이 되지 않습니다.
이상해서, 직접 디렉토리를 찾아들어가서 보면 분명이 명령어가 있고,
여기서
research
혹은
./research
를 실행해도 같은 에러인
No such file or directory
라는 결과를 얻습니다.
이 명령어는 symbolic link도 아니고, script도 아닌 컴파일 된 형태인데,
어떻게 이런 결과가 나오는지 모르겠습니다.
어떻게 해결해야 할까요?
Forums:
뭔가 프로그램에서
뭔가 프로그램에서 요구하는 것이 없는 것 같습니다. 꼭 그 프로그램이 실행이 안 되어서가 아니라... 그리고 혹시 무언가에 의해서 손상을 입엇을 수도 잇으니(그런 경우 거의 없습니다만.) 한번 file로 파일 속성(형태도.)을 보심이 좋을 것 같습니다.
----
Lee Yeosong(이여송 사도요한)
E-Mail: yeosong@gmail.com
MSN: ysnglee2000@hotmail.com
----
웃음... 행복... 평화... (진정한...) 희망... 사랑... 이 세상 모든것이 그렇다면 얼마나 좋을까...(꿈 속의 바램일 뿐인가...)
사람천사
답변
답변 감사드립니다.
실행명령어 자체는 시스템에서 직접 컴파일한 것은 아니고, 이전에 한 것을 계속 복사해서 사용하고 있습니다.(compile하기 많이 까다로운 파일이라 그렇습니다)
file 명령어로 살펴본 결과 다음 결과를 얻었습니다.
autodock3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
지금 사용하는 것이 AMD64bit 컴퓨터이긴 합니다만, 80386에서 컴파일 된 이 명령어가 현재 컴퓨터의 Fedora5나 Fedora7 때에는 실행되었던 것이어서 괜찮지 않을까 생각합니다만 확신할 순 없네요.
dynamically linked 라는 데에서 문제가 있을 수가 있나요?
not stripped는 무슨 의미인지 모르겠습니다.
Informatics
사용중이신 Ubuntu
사용중이신 Ubuntu 7.04가 64bit 이면 실행안되는게 맞습니다.
Ubuntu가 32bit version이라면 왠만하면 실행될 것같습니다만, 그래도 공유 라이브러리를 포함한 실행환경 설정 같은거 체크해보셔야할 것입니다.
참고로 다음은 제 우분투 박스의 uname, 샘플 file 결과입니다 (양쪽다 64bit).
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
원칙적으로는 그럴것
원칙적으로는 그럴것 같습니다.
Fedora에서 되었던게 오히려 '우연히' 되었던 거라고 봐야되겠군요.
다시 Fedora를 설치해서 어떻게든 사용하거나,
Ubuntu에서 다시 compile하는 방법을 찾아봐야겠습니다.
답변 감사 드립니다.
Informatics
64bit 에서 32bit binary 실행시 발생한 문제..
제가 동일한 문제를 겪었는데 구글링 해서 찾았네요..
http://ubuntuforums.org/archive/index.php/t-1041476.html
간단하게 libc6-i386 , lib32gcc1 두개 설치해서 해결되었습니다..
ldd autodock3
ldd autodock3
not a dynamic
not a dynamic executable
이라고 나오는 군요.
명령어 자체가 문제가 되는 것 같습니다.
Informatics
Dynamic Linked는
Dynamic Linked는 일반적으로는 문제가 될 일이 없겠지만, 특수한 상황에서는 문제가 될 수 있겠죠. Library와 동적으로 연결 되어 있는 경우인데.. 그게 뭔가 서로 안 맞는 녀석들과 연결이 되면 문제가 되겠죠.
----
Lee Yeosong(이여송 사도요한)
E-Mail: yeosong@gmail.com
MSN: ysnglee2000@hotmail.com
----
웃음... 행복... 평화... (진정한...) 희망... 사랑... 이 세상 모든것이 그렇다면 얼마나 좋을까...(꿈 속의 바램일 뿐인가...)
사람천사
늦었지만..
시간이 많이 지난 글이지만..
똑같은 현상을 해결하여서 몇자 올립니다.
제 경우에는,
커널이 2.95.3 버전으로 컴파일 된 상태에서
application을 4.1.1 컴파일러로 컴파일 했더니,
파일이 없다고 나오는군요.
arm-linux-gcc -v 명령으로,
컴파일러 버전을 확인하고 다시 2.95.3 버전으로 컴파일하니
문제없이 동작합니다..
이 문제가 맞는지는 모르겠지만, 후에 이 글을 보시는 분들께
도움이 되었으면 하네요^^
2007년 글인데...
검색해서 들어와서 답글 달아 봅니다.
bash shell dos type의 line end면 저런 메시지를 내뱉는 경우도 있습니다.
댓글 달기