환경 모듈: TCL을 초기화할 수 없습니다.

환경 모듈: TCL을 초기화할 수 없습니다.

CentOS 6 클러스터에서 python-2.7.10 모듈을 만들려고 합니다. 내 간단한 python-2.7.10모듈 파일은 다음과 같습니다

#%Module1.0
prepend-path PATH /gpfs0/export/opt/anaconda-2.3.0/bin 
prepend-path MANPATH /gpfs0/export/opt/anaconda-2.3.0/share
prepend-path LD_LIBRARY_PATH /gpfs0/export/opt/anaconda-2.3.0/lib
set-alias python /gpfs0/export/opt/anaconda-2.3.0/bin/python
set-alias python2.7 /gpfs0/export/opt/anaconda-2.3.0/bin/python

모듈을 로드할 때, 예를 들어

module load python-2.7.10 

python2.7은 잘 작동합니다. 그러나 내가 시도 하거나 module list또는module availmodule unload python-2.7.10

오류가 발생했습니다.

init.c(556):ERROR:161: Cannot initialize TCL

그러나 내 모듈을 사용해 보면 다음과 같습니다 octave-4.0.0.

#%Module1.0
prepend-path PATH /gpfs0/export/opt/octave-4.0.0/bin 
prepend-path MANPATH /gpfs0/export/opt/octave-4.0.0/share
prepend-path LD_LIBRARY_PATH /gpfs0/export/opt/octave-4.0.0/lib
set-alias octave /gpfs0/export/opt/octave-4.0.0/bin/octave-4.0.0 
set-alias octave-gui /gpfs0/export/opt/octave-4.0.0/bin/octave-4.0.0 
set-alias octave-cli /gpfs0/export/opt/octave-4.0.0/bin/octave-cli-4.0.0

할 수 있어요 module list. module avail괜찮 module unload octave-4.0.0습니다. 분명히 내 python-2.7.10모듈에 뭔가 문제가 생겼습니다. 이 문제를 어떻게 해결합니까?

답변1

분명히 LD_LIBRARY_PATH 설정은 논의된 바와 같이 잘못된 형식입니다.여기,여기그리고여기. 그래서 나는 사악한 방식을 바꾸고 LD_LIBRARY_PATH를 설정하지 않았으며 문제가 해결되었습니다.

편집하다: 이 문제의 근본 원인은 시스템 /usr/lib64/libtcl8.5.so과 아나콘다의 /gpfs0/export/opt/anaconda-2.3.0/lib/libtcl8.5.so. Anaconda의 tcl 라이브러리는 모듈 패키지와 호환되지 않습니다. 솔루션은 동일하게 유지되지만 아나콘다 라이브러리가 필요한 경우 사례별로 처리해야 합니다.

답변2

동일한 문제가 발생했으며 아래 링크의 제안을 사용하여 LD_LIBRARY_PATH를 설정 해제하지 않고도 문제를 해결할 수 있었습니다. 기본적으로 실행을 위해 LD_LIBRARY_PATH를 사용하는 modulecmd의 기능을 비활성화합니다. 그러나 이 변경으로 인해 modulecmd가 LD_LIBRARY_PATH 변수를 수정하는 것이 방지되지는 않습니다. 사용되는 명령은 다음과 같습니다: chown none:nobody modulecmd chmod ug+s modulecmd

https://sourceforge.net/p/modules/mailman/message/27952351/

관련 정보