Linux에서 소프트웨어를 설치할 때 발생하는 일반적인 버그

  1. CXXABI ... 찾을 수 없음
    (1) 문자열 /xxx/libstdc++.so.6 | grep CXXABI 먼저 필요한 버전이
    있는지 확인 합니다. (2) 상위 버전의 libstdc ++. so.6.xx가 있는지 확인합니다. 시스템 라이브러리, 일반적으로 / usr / lib64에 있습니다.
    (3) 상위 버전 ln -s libstdc ++. so.6 libstdc ++. so.6.xx를 필요한 버전으로 바꾸십시오.
    (4) 모듈로드 conda, Conda / lib가로드되지 않았을 수 있습니다. LD_LIBRARY_PATH를 수동으로 추가하기 만하면됩니다.

  2. git ''… 인수
    문제가 너무 많은 이유는 일부 시스템의 git 버전이 너무 낮아서 새 매개 변수를 인식하지 못하기 때문입니다. 자신의 컴퓨터가 아닌 경우 다른 곳에서 필요한 패키지 만 다운로드하고 업로드 할 수 있습니다. 그것 (너무 속임수)

  3. 'H5Aopen'등에 대한 정의되지 않은 참조.
    -L / path / to / hdf5 / lib -lhdf5 추가

  4. 'cblas_sgemv'등에 대한 정의되지 않은 참조.
    -L / path / to / lapack / lib -lcblas 추가

  5. 'sgemv_'등에 대한 정의되지 않은 참조.
    -L / path / to / lapack / lib -lblas 추가

  6. '_gfortran_st_write'등에 대한 정의되지 않은 참조. -lgfortran
    추가

  7. miniconda3 환경 만들기 명령
    conda create -n env_name -f env_file
    많은 온라인 자습서가 아직 이전 버전에 있습니다. conda env create를 사용하세요.

  8. conda install basemap conda install
    basemap은 matplotlib 3.0.0을 설치합니다. 이때는 from mpl_toolkits.basemap import를 사용하여 Python의 Basemap이 ImportError : cannot import name'is_scalar '를보고합니다. pip를 사용하여 matplotlib 3.0.0을 제거하고 matplotlib를 설치해야합니다. 2.2 .0 (다른 패키지 충돌이있을 수 있음)

  9. `for_write_seq_fmt '
    대한 정의되지 않은 참조 추가 컴파일 옵션 -lifcore

  10. lapack은`dcopy_ '등에 대한 정의되지 않은 참조 오류를 프롬프트합니다.
    -llapack 뒤에 컴파일러 옵션 -lblas를 추가합니다 .

  11. 소프트웨어를 실행하면 /lib64/libc.so.6 : version GLIBC_2.14 'not found 메시지가 표시됩니다. 이유는 libc의 버전이 너무 낮지 만 시스템 수준에서 업그레이드하는 것이 불편하기 때문에 다음과 같습니다. 작업 强烈建议在 conda 虚拟环境中使用
    patchelf --set-interpreter / new / path /to/glibc.so.6 / path / to / execute / file
    또는
    patchelf --set-rpath /new/path/to/glibc.so.6 / path / to / 라이브러리 / 파일

  12. Fortran 컴파일 오류
    (1)의 실제 인수와 (2)의 실제 인수 사이의 유형 불일치 (REAL (4) / REAL (8))
    실제로이 오류는 프로그램의 작동에 영향을주지 않습니다. -fallow-argument를 추가하십시오. 컴파일 옵션-불일치는 건너 뛸 수 있음 (일부 프로 테스트는 건너 뛸 수 없음)

  13. Fortran 컴파일러 mpif90 오류, 버전 gcc 10.0.2
    (1)의 실제 인수와 (2)의 실제 인수 (스칼라 및 순위 -1) 간의 순위 불일치
    이유 : 컴파일러 버전이 너무 높습니다.
    솔루션 : https : // gcc. gnu.org/gcc-10/porting_to.html
    컴파일 옵션 추가 -fallow-argument-mismatch

  14. C 컴파일러 mpicc 오류
    오류 : AVX512 로 테스트 프로그램을 컴파일 할 수 없습니다. C 컴파일러 또는 CFLAGS
    솔루션을 조정 하십시오. 컴파일 옵션 CFLAGS = -march = sandybridge 또는 -march = haswell, march = knl을 추가하십시오.

  15. libint를 설치할 때 gmpxx.h가 누락되었습니다. gcc를 설치할 때 gmp를 설치할 수없는 이유는 무엇입니까?
    이유 : gmp가
    설치 되면 Cxx가 지원되지 않습니다 . 해결 방법 : gmp가 설치되면 ./configure --enable-cxx --prefix ...
    루트가 아닌 사용자 인 경우 자신의 계정으로 사본을 설치할 수 있습니다. .

  16. X11 라이브러리가 없습니다.
    conda를 사용하여 설치하는 것이 좋습니다.

conda install -c conda-forge xorg-libx11
  1. X11 라이브러리가 호출되면 XauGetBestAuthByAddr과 같은 함수가 누락되었거나
    libxau.so를 찾을 수 없다는 메시지가 표시되지만 여전히 conda를 사용하여 설치합니다.
conda install -c conda-forge xorg-libxau
  1. lapack을 컴파일 할 때 mpiifort를 사용하면 오류가 발생할 수 있습니다. second_INT_ETIME.f (53) : error # 6407 :이 기호 이름은 내장 함수 이름 또는 내장 서브 루틴 이름이 아닙니다.
    솔루션 : make.inc에서 TIMER = INT_CPU_TIME 설정

  2. perl "bsd_glob"이 % File :: Glob :: EXPORT_TAGS에 정의되어 있지 않습니다
    . 이유 : bsd_glob은 Perl 5.10 이상의 구문이므로 업그레이드해야합니다.
    해결 방법 : perl 5.28과 같은 상위 버전의 perl을 설치합니다 .

  3. Perl 오류 @INC에서 XML / LibXML.pm을 찾을 수 없습니다.
    이유 : 새로 설치된 perl에 xml 모듈이 없습니다.
    솔루션 : cpan -i XML :: LibXML

  4. 인식 할 수없는 명령 줄 옵션 "-fstack-protector-strong"
    이유 : gcc 버전이 너무 낮음
    솔루션 : gcc 5.4.0과 같은 더 높은 버전의 gcc가 필요합니다.

  5. 컴파일 시간 오류 # 6580 : 전용 목록에 이름이 없습니다. [MPI_INFO_NULL] mpi 만 사용 : MPI_COMM_NULL, MPI_INFO_NULL! _EXTERNAL
    이유 : icc 컴파일러 버전이 너무 낮습니다.
    해결책 : 인텔 2017 컴파일러와 같은 더 높은 버전의 icc를 사용하십시오.

  6. 파이썬 GLIBC 2.14가 없습니다

patchelf --set-interpreter /path/to/glibc-2.14/lib/ld-linux-x86-64.so.2 /path/to/python
  1. 컴파일 할 때 gcc 및 g ++에서 'ld'를 찾을 수 없습니다.
    이유 : 시스템의 binutils 버전이 너무 낮습니다.
    해결 방법 :

    1) 원격 서버 인 경우 시스템에 conda 환경이 있는지 확인한 다음 binutils를 직접 conda 설치할 수 있습니다.
    2) 개인용 컴퓨터 인 경우 yum 또는 apt-get을 사용하여 설치할 수 있습니다.

  2. gcc 10 + openmpi로 컴파일 할 때 : (1)의 실제 인수와 (2)의 실제 인수가 일치하지 않습니다 (INTEGER (4) / LOGICAL (4)).
    이유 : gcc 버전이 너무 높습니다.
    솔루션 : 대체 할 필요가 없습니다 . 컴파일러이지만 컴파일 옵션 FFLAGS 및 FCFLAGES에 "-w -fallow-argument-mismatch -O2"를 추가합니다.

  3. 오류 : 해당 명령이 없습니다.`vpbroadcastw % xmm2, % xmm2 '
    이유 : avx2 문제에 대한 두 가지 해결책이 있습니다
    . 1. 컴파일 선택에 -march = native를 추가합니다 (자신의 컴퓨터 구성 참조).이 방법은 그렇지 않을 수 있습니다. 2. 소프트웨어 컴파일시 일반적으로 configure에 avx2 옵션이 있으며이 옵션은 끌 수 있습니다 (-no-avx2 / --disable-avx2).

  4. Python 유틸리티 mpi4py가 slurm에 제출되었으며 다음 오류가 발생했습니다.

python: error: Invalid user for SlurmUser slurmadmin, ignored
python: error: Invalid user for SlurmUser slurmadmin, ignored
python: error: plugin_load_from_file: dlopen(/xxxx/slurm-16.05.3/lib/slurm/auth_munge.so): libmunge.so.2: cannot open shared object file: No such file or directory
python: error: Couldn't load specified plugin name for auth/munge: Dlopen of plugin file failed

이유 : patchelf를 사용하여 glibc를 python에 추가 한 후 나타나는데 종속 라이브러리로드시 오류가 발생할 수 있습니다.
해결 방법 : pip 프롬프트 GLIBC_2.14와 함께 설치된 다른 라이브러리가있는 경우 conda로 python을 다시 설치합니다. 콘다

(Conda는 종속성 문제를 자동으로 해결합니다)

  1. 계속됩니다. . . .

추천

출처blog.csdn.net/qq_32115939/article/details/103786253