2012-05-22 2 views
1

this 자습서의 지침에 따라 Perl의 사용자 지정 버전을 작성했습니다.사용자 정의 Perl을 예상 디렉토리에 설치하지 않는 이유는 무엇입니까?

./Configure -d -Dprefix=/custom/perl 

을 내가 make, make testmake install을 한 것을 한 후에 다음과 같이

나는 원래 8 단계를했다.

그런 다음/opt/perl 대신 Perl을 사용하기로 결정 했으므로 make clean을 반복하고 프로세스를 반복하고 적절한 디렉토리로 8 단계를 수행했습니다. 아직/custom에 설치되어 있습니다. 그런 다음 사용자 정의를 완전히 삭제하고 ./Configure 단계의 해당 디렉토리에 다시 설치했습니다. 아직/custom에 설치되어 있습니다.

무엇이 누락 되었습니까? Perl을/opt not/custom에 넣기를 원합니다.

+2

시도'make distclean' – Kevin

+1

그게 효과가있다. 'make distclean '은 실제로'config.sh'와'Policy.sh'를 삭제합니다. – ikegami

답변

2

INSTALL 파일에 따라 5.16을 올바르게 사용할 수 있습니다. "-Dprefix='/some/dir'"을 Configure의 args에 추가하여 모든 프리픽스 위치를 지정할 수도 있습니다. "

그래서 make cleanConfigure으로 만든 파일을 제거하지 않는다고 생각됩니다. "정리 된"디렉토리가 아닌 새로운 디렉토리에서 시도하십시오. 또는 적어도 config.shPolicy.sh을 삭제 해보십시오.

[업데이트 : make distclean이이를 수행하는 데 사용될 수 있다고 지적되었습니다. 물론, 타볼 (tarball) 대신 repo에서 설치하는 경우 git clean -dfx을 설치할 수 있습니다. ]

+0

"fresh"라고하면 ikegami는 전체 빌드 디렉토리를 지우고 .zip/tarball에서 새 디렉토리를 추출하는 것을 의미합니다.) – delicateLatticeworkFever

+1

@ goldilocks 그게 신선한 의미입니다. 'Configure '로 만든 두 개의 파일. – ikegami

+0

내'configure.sh'처럼 여전히'/ custom'의 인스턴스가 있습니다. Policy와 Policy.sh를 삭제하고 프로세스를 다시 시작하십시오. 작동하는 것처럼 보입니다 ... 잠시 후에 알려 드리겠습니다. – thealexbaron

1

./Configure에 대한 -d 옵션을 사용하면 빌드 프로세스가 기존 config.sh 파일의 소스가됩니다. -Dprefix=... 옵션은 기존 config.shprefix 설정보다 우선 적용되지만 불행히도 prefix의 초기 설정을 기준으로 config.sh에 설정할 수있는 여러 가지 옵션을 무시하지는 않습니다.

make clean 외에도 perl 빌드 디렉토리를 안전하게 다시 사용하려면 rm config.sh이 필요합니다.

빌드 프로세스의 설정을 다른 시스템으로 복사하려면 Policy.sh도 정리해야합니다.

관련 문제