2012-06-27 2 views
3

홈 디렉토리 (OpenMPI)에서 소프트웨어를 컴파일하려고합니다. 내 시스템에 설치된 빌드 종속성 (autoconf) 중 하나가 OpenMPI autogen 스크립트에서 요구하는 최신 버전이 아닙니다. 필자는 홈 디렉토리에 최신 버전의 autoconf를 컴파일하고 설치했습니다.홈 디렉토리 바이너리로 시스템 바이너리 재정의

내 홈 디렉토리에 설치된 바이너리가 내 세션 용 시스템에 설치된 버전을 "오버라이드"할 수 있습니까?

구성 스크립트를 생성하는 데 사용되는 스크립트가 아닌 명령 줄을 통해 작동하는 별칭을 설정하려고했습니다.

+2

왜 'autogen' 스크립트를 실행해야합니까? SVN에서 Open MPI를 얻었습니까? –

+0

Autoconf는 "빌드 종속성"이 아닙니다. autoconf가 소프트웨어를 만드는 데 사용해야하는 tarball을 생성하는 데 필요할 수도 있지만 tarball에는 autoconf가 필요하지 않을 수 있습니다. autoconf를 "meta-build dependency"또는 "developer dependency"라고 부르는 것은 정확할 수도 있지만, "build dependency"가 아닙니다. –

답변

4

$PATH 환경 변수로 대체 할 바이너리 경로를 추가하십시오. Like PATH=/path/to/binary:$PATH ./compile

compile 명령을 찾으려고 할 때 추가 된 경로가 먼저 조회됩니다. 해당 실행에만 유효하며 명령이 반환 된 후에도 남아 있지 않습니다. export PATH=/path/to/binary/:$PATH을 사용할 수 있으며 해당 세션에 대해 저장됩니다.

EDIT : Eric.J에서는 상태가 올바른지 확인하기 위해 명령에 대한 경로를 출력하는 which compile을 사용할 수 있습니다.

+0

위대한 트릭 덕분에 끝났어, 나는 선불에 반대 PATH에 추가했습니다. – kladd

4

홈 디렉토리가 시스템 디렉토리 앞에 표시되도록 environment variable의 PATH를 변경할 수 있습니다 (예 :

PATH = $ 홈/빈 : $ 경로는

그런 다음 올바른 바이너리가 포착되고 보장하기 위해 which 명령을 사용할 수 있습니다.

+0

이 답변을 처음 보지 못했습니다. 감사합니다. 그게 문제 였어. PATH에 시스템 디렉토리 다음에 $ HOME을 넣고 있었다. – kladd

+0

도와 줘서 기뻐요 :-) –