2011-08-11 1 views
4

makefile에 이상한 문제가 있습니다. 나는 단순히 그것은 내 맥북에 완벽하게 잘 작동Makefile 및 기호 링크

make: execvp: ln: Too many levels of symbolic links 

메이크 파일의 심볼릭 링크를 설정하지만, 하나의 기계에 (리눅스 2.6.18-238.12.1.el5를) 오류 메시지가 싶다. 또한 쉘에서 동일한 명령을 실행하면 잘 작동합니다. 무엇이 잘못 될 수 있습니까? ln에 중요한 환경 변수가 있습니까?

+0

당신이 명령 줄에서하는 일이 당신의 규칙이하려고하는 것이 확실합니까? 규칙을 보여 주시겠습니까? – Beta

답변

4

오류 메시지에 execvp이 중요하다고 생각합니다. ln 명령 자체를 찾으려고 시도하는 동안 심볼 링크가 너무 많아서 이라고 말하는 것 같습니다..

예 :

make: execvp: /tmp/foo/ln: Too many levels of symbolic links 

그럼, 어떻게 당신의 메이크 정확히 ln를 호출된다

all: 
    ln -nsf /tmp/foo /tmp/foo 
    /tmp/foo/ln x y 

는이 메이크 오류 밖으로 "make"를 실행? PATH 등의 내용은 무엇입니까?

[업데이트]

나는 당신의 PATH를 엉망으로 만들 것이라고 생각한다. 다음은 정확한 오류 메시지를 재현하는 Makefile입니다 :

PATH=/tmp/foo 

all: 
    /bin/ln -nsf /tmp/foo /tmp/foo 
    ln x y 
+0

당신이 옳다고 생각합니다. 내가/bin/ln을 호출하면 작동한다. 이제 경로가 엉망이되는 부분을 알아 내야합니다. 감사! – hanno