저는 학술적인 이유로 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:
소스코드를 복사해서
$HOME
압축을 풀어주세요.tar -xf openmpi-2.0.1.bz2
build
당신 의$HOME
.mkdir build
"build" 디렉터리는 "openmpi-1.6.4"가 아닌 $HOME의 하위 디렉터리입니다. 'build'와 'openmpi-1.6.4'는 모두 $HOME의 하위 디렉터리입니다.
환경 변수 빌드 및 설정으로 이동합니다.
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
구성을 실행합니다.
../openmpi-2.0.1/configure --prefix="$HOME/code/openmpi-2.0.1
오픈MPI를 빌드하세요.
make
테스트 스위트를 실행하십시오.
make check
설치하다.
make install
Open MPI 구축에 대한 몇 가지 추가 지침은 다음과 같습니다.
- 개방형 MPI를 구축하는 방법은 무엇입니까?
- 개발자 체크아웃에서 빌드하기 위한 요구 사항
- 바라보다해커 공격소스 폴더의 파일
제안된 또 다른 해결 방법자주하는 질문--disable-shared
, Open MPI를 사용하고 구성하여 Open MPI를 정적 라이브러리로 구축하는 것입니다 --enable-static
. 이는 와 동일한 효과를 가지지 만 (공유 라이브러리의 반대) --disable-dlopen
만들기도 합니다 .libmpi.a
공식 가이드를 따르는 데 여전히 문제가 있는 경우,open-mpi에 대해 질문하기, Linux 배포판과 관련된 몇 가지 문제가 있을 수 있습니다.