오픈MPI 설치

오픈MPI 설치

저는 학술적인 이유로 Linux Mint를 사용하기 시작했고 openmpi-2.0.1을 설치하려고 할 때 오류가 발생했습니다. 확인하려고 하면 다음 오류가 발생합니다.

    make[4]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
make[3]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
make[2]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
Making check in etc
make[2]: Entering directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/etc'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/etc'
Making check in mpi/c
make[2]: Entering directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c'
Making check in profile
make[3]: Entering directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c/profile'
  CC       pstatus_c2f.lo
rm: cannot remove '.libs/pstatus_c2f.o': Permission denied
Assembler messages:
Fatal error: can't create .libs/pstatus_c2f.o: Permission denied
make[3]: *** [pstatus_c2f.lo] Error 1
make[3]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c/profile'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/kuljeet/Downloads/openmpi-2.0.1/ompi'
make: *** [check-recursive] Error 1

이전에 오류가 발생했습니다.

make[3]: Entering directory `/home/thanhnt/openmpi-1.6/ompi/debuggers'
CCLD predefined_gap_test
libtool: link: cannot find the library `../../ompi/libmpi.la' or unhandled argument `../../ompi/libmpi.la'
make[3]: *** [predefined_gap_test] Error 1
make[3]: Leaving directory `/home/thanhnt/openmpi-1.6/ompi/debuggers'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/home/thanhnt/openmpi-1.6/ompi/debuggers'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/thanhnt/openmpi-1.6/ompi'
make: *** [check-recursive] Error

위의 권한 오류를 수정한 후에도 여전히 다음과 같은 오류가 발생합니다.

libtool: 오류: '../../ompi/libmpi.la' 라이브러리가 없거나 '../../ompi/libmpi.la' 인수가 처리되지 않았습니다.

make[3]: *** [predefine_gap_test] 오류 1

make[3]: /home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers' 디렉토리에서 나가기 make[2]: *** [check-am]

오류 2 make[2]: 디렉토리 /home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers' make[1] 종료: *** [재귀 검사] 오류 1

답변1

당신은 그것을 컴파일해야icc 인텔 컴파일러. gcc와 호환되도록 최신 버전을 사용하고 있는지 확인하세요. 그런 다음 아래 제안된 지침에 따라 구성하고 컴파일해야 합니다.@liqizuiyang:

  1. 소스코드를 복사해서 $HOME압축을 풀어주세요.

    tar -xf openmpi-2.0.1.bz2
    
  2. build당신 의 $HOME.

    mkdir build
    

    "build" 디렉터리는 "openmpi-1.6.4"가 아닌 $HOME의 하위 디렉터리입니다. 'build'와 'openmpi-1.6.4'는 모두 $HOME의 하위 디렉터리입니다.

  3. 환경 변수 빌드 및 설정으로 이동합니다.

    cd build
    export CC=icc
    export CXX=icpc
    export FC=ifort
    export F77=ifort
    export CFLAGS=-O2
    export CXXFLAGS=-O2
    export FCFLAGS=-O2
    export FFLAGS=-O2
    
  4. 구성을 실행합니다.

    ../openmpi-2.0.1/configure --prefix="$HOME/code/openmpi-2.0.1
    
  5. 오픈MPI를 빌드하세요.

    make
    
  6. 테스트 스위트를 실행하십시오.

    make check
    
  7. 설치하다.

    make install
    

Open MPI 구축에 대한 몇 가지 추가 지침은 다음과 같습니다.


제안된 또 다른 해결 방법자주하는 질문--disable-shared, Open MPI를 사용하고 구성하여 Open MPI를 정적 라이브러리로 구축하는 것입니다 --enable-static. 이는 와 동일한 효과를 가지지 만 (공유 라이브러리의 반대) --disable-dlopen만들기도 합니다 .libmpi.a


공식 가이드를 따르는 데 여전히 문제가 있는 경우,open-mpi에 대해 질문하기, Linux 배포판과 관련된 몇 가지 문제가 있을 수 있습니다.

관련 정보