빠른 결론 1) GCC 7.3 버전 bin 설치
빠른 결론 2) 관련 라이브러리 보안 해제
NCL(NCAR Command Language)은 6.6.2버전 이후로 더 이상 업데이트되지 않는다.
그럼에도 불구하고 여전히 현역으로 사용되고 있는 언어이기 때문에 수요가 있는 편이다.
문제는 최신 시스템에서의 설치가 쉽게 이루어지지 않는다는 것이다.
가장 흔한 경우는 아무래도 필요 라이브러리의 부재로 인한 구동 불능일 것이다.
요즘에는 Anaconda 가상환경을 이용해서 손쉽게 설치 및 사용이 가능한데,
Windows의 WSL이나 Linux에서는 최근까지 무리 없이 설치가 가능했지만
최근 이용중인 Mac mini에서는 설치 단계에서부터 어려움이 있다.
M4 Mac mini에서 Anaconda를 이용한 가상환경 조성까지는 문제가 없지만
conda를 이용한 NCL 설치에서 문제가 발생한다.
공식 홈페이지 안내에 따르면 현재 NCL 권장 설치 방법은 다음과 같다.
(base) conda create -n ncl662
(base) conda activate ncl662
(ncl662) conda install -c conda-forge ncl
하지만 현재 M4 Mac mini에서는 위의 권장 방식으로는 NCL을 제대로 설치할 수 없다.
설치 과정에서 에러가 발생하는 것은 아니지만, NCL 실행 파일 자체가 생성되지 않기 때문이다.
이러한 문제는 비단 M4 프로세서가 아니더라도 겪을 수 있는 문제이지만,
현재 나는 M4 Mac mini에 설치를 하고자 하기 때문에
M4 Mac mini를 기준으로 설치 방법을 기술한다.
결국, 본 글에서는 M4 Mac mini 환경에서의 NCL 6.6.2 설치를 다룬다.
1. 준비물
M4 Mac mini에서 NCL 6.6.2 (이하 NCL)를 설치하려면 다음의 파일들이 필요하다.
1) GCC 7.3 -> GCC 7.3 bin
2) NCL 6.6.2 (precompiled binary, not OPeNDAP-enabled)
3) XQuartz 2.7.11 (최신은 안 쓴다.)
GCC 7.3 설치 파일 주소
https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/
(수정됨 - 2025.04.21.)
GCC 7.3 bin 압축파일 다운로드 주소
HPC on Mac OS X - Browse /hpc/gcc at SourceForge.net
HPC on Mac OS X - Browse /hpc/gcc at SourceForge.net
FactoryTalk Optix Cloud Manufacturing Software For manufacturers interested in a powerful, open, scalable, HMI visualization platform
sourceforge.net
위의 SourceForge 웹페이지에서 7.3버전을 다운로드 받으면 된다.
NCL 6.6.2 설치 파일 주소
https://www.earthsystemgrid.org/dataset/ncl.662_2.nodap/file.html
여러 버전 중 not OPeNDAP, GNU730을 사용할 것이다.
XQuartz 2.7.11 설치 파일 주소
https://www.xquartz.org/releases/archive.html
XQuartz는 나의 경우 무조건 2.7.11 버전으로 설치한다.
최신 버전은 문제가 발생하더라.
세 프로그램 중 XQuartz는 dmg파일로, 직접 더블클릭하여 설치하면 된다.
따라서 XQuartz 2.7.11의 설치 과정은 생략한다.
사용자의 기본 홈디렉토리는 /Users/username 이고,
이곳에 나는 installers 디렉토리를 생성하여 넣었다.
결국, 설치 파일을 /Users/parksh/installers에 넣어두었다.
앞으로는 이 위치를 $INST라 하겠다.
2. GCC 7.3 bin 설치
GCC 7.3 bin의 압축 파일을 압축 해제한다.
$ tar -xvf gcc-7.3-bin.tar
그러면 usr이라는 디렉토리 하나가 덜렁 생긴다.
이 안에는 local이라는 디렉토리가 있고,
그 안에 다시 bin, include, lib, libexec, share라는 다섯 개의 디렉토리가 존재한다.
이제 이 다섯 디렉토리를 실제 설치 장소로 복사해야 한다.
실제로 설치할 장소는 /usr/local이다.
먼저 해당 장소가 잘 존재하는지 확인해보자.
$ cd /usr/local
아마도 특별히 뭔가 하지 않은 이상 잘 있을 것이다.
이제 관리자 권한을 이용해서 방금 얻은 다섯 디렉토리를 이곳으로 복사해야 한다.
다시 그곳으로 돌아가 설치 장소에 복사하자.
만약, /usr/local에 원래 존재했던 디렉토리 혹은 파일이 있다면 덮어씌워지거나 사라지지 않도록 조치를 취하는 게 좋다.
(이런 과정은 개개인이 다르기 때문에 생략)
$ cd /User/parksh/installers/usr/local
$ sudo cp –r * /usr/local/
이제 /usr/local로 가서 복사가 잘 이루어졌는지 확인해본다.
$ cd /usr/local
이곳에서 lib에 들어가보면 여러 라이브러리들이 있는 것을 확인할 수 있다.
이제 사용자 쉘 환경설정 파일로 들어가 경로를 추가해줘야 한다.
나는 zsh을 사용하기 때문에 .zshrc에 아래와 같이 입력, 저장 및 적용을 했다.
만약 사용자가 .zshrc가 없다 하더라도 새로 파일을 .zshrc라는 이름으로 생성하면 된다.
(그런데 이 과정은 필수인지 아닌지 나도 잘 모르겠다.)
$ vi ~/.zshrc # vim editor를 이용한 .zshrc 편집
...
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/lib/libgfortran.4.dylib:$DYLD_FALLBACK_LIBRARY_PATH
...
:wq # vim editor 저장 및 나가기
$ source ~/.zshrc # .zshrc 실행
여기까지 하면 GCC 7.3에 관련된 부분은 일단 끝이다.
2. NCL 6.6.2 설치
$INST로 돌아가 ncl662라는 디렉토리 생성 후 압축 파일을 압축 해제한다.
$ mkdir ncl662
$ tar –xvf filename -C ncl662
그러면 ncl662라는 디렉토리 안에 압축 해제된 내용물이 저장될 것이다.
그 안에 들어가보면 bin, include, lib라는 세 디렉토리가 있다.
이들은 특별한 목적이 있지 않다면 여기서 따로 옮길 필요가 없다.
이제 환경설정 파일에 이 경로를 작성해줘야 한다.
$ vi ~/.zshrc # vim editor를 이용한 .zshrc 편집
...
export NCARG_ROOT=/Users/parksh/installers/ncl662
export PATH=$NCARG_ROOT/bin:$PATH
...
:wq # vim editor 저장 및 나가기
$ source ~/.zshrc # .zshrc 실행
여기까지 했다면 절반은 한 것이다.
이제 시스템 보안에 대해 내가 설치한 것들을 허용하는 작업이 필요하다.
3. 보안 허용
이제 터미널에서 NCL을 실행해보도록 한다.
$ ncl
그러면 위의 오른쪽 사진처럼 libgfortran.4.dylib과 관련된 메시지가 등장한다.
사용자가 임의로 다운로드 받고 설치한 프로그램을 함부로 열 수 없다는 것인 듯하다.
완료 버튼을 누른다.
절대 휴지통으로 이동을 누르지 마라.
그러면 아래와 같이 터미널에 에러 메시지가 출력된다.
이는 libgfortran.4.dylib을 로드 할 수 없었기 때문에 NCL을 실행하지 못 했다는 내용이다.
이를 해결하기 위해 "시스템 설정 -> 개인정보 보호 및 보안 -> 보안"으로 접근하자.
그러면 위 사진처럼 "Mac을 보호하기 위해 'libgfortran.4.dylib'을(를) 차단했습니다."라는 문구를 볼 수 있다.
옆에 있는 그래도 허용 버튼을 누르자.
그리고 이 창은 닫지 말자.
libgfortran.4.dylib 말고도 여러 라이브러리를 반복적으로 이렇게 처리해야 하기 때문이다.
이제 터미널로 다시 돌아와 NCL을 실행한다.
$ ncl
그러면 위의 왼쪽 사진처럼 창이 뜰 것이고,
그래도 열기를 누르면 가운데 사진처럼 관리자 암호를 입력하게 된다.
관리자 암호까지 입력하면, 곧 이어 또 다른 라이브러리에 대한 보안이 걸린다.
다시 옆에 켜두었던 시스템 설정-보안 창으로 가보면 다시금 차단되었다는 문구가 있고,
또 다시 그래도 허용 버튼 클릭 -> NCL 실행 -> 보안 허용의 과정을 계속 반복해주면 된다.
나는 종합적으로 아래의 라이브러리들에 대해 반복적으로 처리해주었다.
libgfortran.4.dylib
libquadmath.0.dylib
libstdc++.6.dylib
libgomp.1.dylib
libgcc_s.1.dylib
그러면 어느 순간부터 보안 메시지는 등장하지 않고 NCL이 실행된다.
- 끝 -
'정보 > Apple' 카테고리의 다른 글
[Mac/MacBook] Error: bad CPU type in executable (0) | 2025.04.06 |
---|---|
[Mac/MacBook] 키보드 설정 변경 - 꾹 누르고 있을 때 반복 입력 빠르게 하기 (0) | 2025.03.20 |
[Mac/MacBook] 로컬 호스트 이름 변경 - 터미널에서 표시되는 기기 명 바꾸기 (0) | 2025.03.20 |
[Mac/MacBook] Xquartz는 2.7.11 버전만 사용하기로 한 이유 (1) | 2024.10.10 |