관련 질문 : 과학 컴퓨팅 및 HPC에서 Mac OS의 상태

전산 과학 분야에서 상당수의 소프트웨어 패키지가 Fortran으로 작성되었으며 Fortran은 사라지지 않습니다. A Fortran 컴파일러는 다른 소프트웨어 패키지를 빌드하는데도 필요합니다 (한 가지 주목할만한 예는 SciPy ).

그러나 Mac OS X에는 Fortran 컴파일러. 내 컴퓨터에 Fortran 컴파일러를 어떻게 설치해야합니까?

설명

  • Fortran만이 아닙니다. Mac은 단순히 고품질을 지원하지 않습니다. 모든 것이 잘 작동하는 데비안과 같은 저장소. Mac에 복잡한 모든 것을 설치하는 것은 고통 스럽습니다.

답변

독을 선택하세요. Homebrew를 사용하는 것이 좋습니다. “Fink”와 “Other Methods”를 제외하고이 모든 방법을 시도했습니다. 원래는 d이 답변을 작성할 때 MacPorts. 이후 2 년 동안 Homebrew는 프로젝트로서 크게 성장했으며 많은 PATH 해킹이 필요할 수있는 MacPorts보다 더 유지 관리가 용이함이 입증되었습니다.

설치 시스템 컴파일러와 일치하는 버전

gfortran 버전이 컴퓨터에 설치된 gcc, g ++ 등의 버전과 일치하도록하려면 여기 . R 개발자 SciPy 개발자 는이 방법을 권장합니다.

  • 장점 : XCode 또는 Kenneth와 함께 설치된 컴파일러 버전과 일치합니다. Reitz의 설치 프로그램 , OS 업그레이드를 방해 할 가능성이 낮음, /usr/bin에 설치되기 때문에 MacPorts (그리고 아마도 Fink 및 Homebrew)와 잘 공존합니다. 기존 컴파일러를 방해하지 않습니다. . PATH를 수정할 필요가 없습니다.
  • 단점 : 컴파일러 스택은 정말 오래되었습니다. (GCC 4.2.1은 최신 Apple 컴파일러이며 2007 년에 출시되었습니다.) /usr/bin에 설치합니다.

HPC Mac OS X에서 사전 컴파일 된 최신 바이너리 설치

HPC Mac OS X 에는 최신 바이너리가 있습니다. GCC (이 글 작성 당시 4.8.0 (시험용)), g77 바이너리 및 f2c 기반 컴파일러 출시. PETSc 개발자는 FAQ .

  • 장점 : 올바른 명령을 사용하여 /usr/local에서, 최신. 기존 시스템 컴파일러 또는 위의 접근 방식을 방해하지 않습니다. OS 업그레이드를 방해하지 않습니다.
  • 단점 : . 버전을 쉽게 전환 할 수 없습니다. (PATH를 수정하거나, 컴파일러 설치를 삭제하거나, 주변을 kludge 할 수 있습니다.) /usr/local 컴파일러 바이너리는 단순히 “gcc”, “g ++”등으로 이름이 지정되기 때문입니다 (버전 번호 및 심볼릭 링크 없음).

MacPorts 사용

MacPorts 에는 사용할 수있는 여러 버전의 컴파일러가 있습니다.

  • 장점 : /opt/local에 설치; port select를 사용하여 컴파일러 버전간에 전환 할 수 있습니다. (시스템 컴파일러 포함). OS 업그레이드를 방해하지 않습니다.
  • 단점 : 포트 설치 경향 전체 “소프트웨어 ecosys tem “. 컴파일러는 디버거를 사용하거나 PETSc를 설치할 때 문제를 일으킬 수있는 디버깅 기호를 포함하지 않습니다. ( Sean Farley 는 몇 가지 해결 방법을 제안합니다.) 또한 PATH. Homebrew 및 Fink 설치를 방해 할 수 있습니다. ( SuperUser에 대한이 게시물 참조)

Homebrew 사용

Homebrew 를 사용하여 Fortran 컴파일러를 설치할 수도 있습니다.

  • 장점 : 사용하기 쉬운 패키지 관리자, “시스템 컴파일러와 일치하는 버전 설치”에서와 동일한 Fortran 컴파일러를 설치합니다. 필요한 것만 설치하십시오 (MacPorts와 달리). 대체 저장소 homebrew-dupes를 사용하여 최신 GCC (4.7.0) 스택을 설치할 수 있습니다.
  • 단점 : “시스템 컴파일러와 일치하는 버전 설치”의 모든 단점을 상속합니다.다른 (Homebrew가 아닌) 소프트웨어를 /usr/local에 설치할 때 Homebrew 패러다임을 따라야 할 수 있습니다. MacPorts 및 Fink 설치를 방해 할 수 있습니다. ( 수퍼 유저에 대한이 게시물 을 참조하십시오.) PATH를 변경해야합니다. 설치는 시스템 라이브러리에 따라 달라질 수 있습니다. 즉, Homebrew 패키지에 대한 종속성은 OS 업그레이드에서 중단 될 수 있습니다. (이 문서 를 참조하세요.) gfortran을 설치할 때 시스템 라이브러리 종속성이있을 것이라고 기대하지는 않지만 다른 Homebrew 패키지를 설치할 때 이러한 종속성이있을 수 있습니다.

Fink 사용

이론적으로는 Fink 를 사용하여 gfortran을 설치할 수 있습니다. 그것을 사용했고, (그리고 긍정적 인 것을 기꺼이 말하는) 누구도 모릅니다.

기타 방법

다른 바이너리와 링크는 GFortran wiki . 일부 링크는 이미 위에 나열되어 있습니다. 나머지 설치 방법은 위에서 설명한 방법과 충돌 할 수도 있고 충돌하지 않을 수도 있습니다. 사용에 따른 위험은 사용자가 감수해야합니다.

댓글

  • Fink가 MacPorts보다 선호되는 패키지 관리자였던 때가있었습니다. 스택이 오래되고 유지 관리되지 않았기 때문에 몇 년 전에 사용을 중단했습니다. ' 내가 정기적으로 사용하는 많은 라이브러리를 포함하지 않습니다. 여기에서 패키지 관리자가 관리하는 일부 항목과 손으로 굴리는 항목이 있습니다. Homebrew는 이러한 시스템에서 더 낫지 만 MacPorts와 경쟁하려면 훨씬 더 많은 라이브러리가 필요합니다.
  • Sage (sagemath.org) 또는 Qsnake ( qsnake.com ), 자체 Fortran 컴파일러를 제공하고 " 환경 "에서 " gfortran "을 호출 할 수 있습니다.
  • 핀크가 있습니다 ' s gfortran을 내 10.5 상자에 넣었지만 실제로 심각한 테스트를 한 적이 없습니다. cernlib와 geant3를 컴파일 할 것입니다 .하지만 최근에 ' 두 곳 모두에서 큰 작업을 실행하지는 않았습니다.
  • Homebrew의 경우 gfortran은 이제 brew install gcc와 함께 설치됨 : $ brew install gfortran gives the message: Error: No available formula for gfortran GNU Fortran is now provided as part of GCC, and can be installed with: brew install gcc
  • Sean Farley에 대한 링크 ' s Wiki 페이지가 더 이상 작동하지 않습니다 (디버거가 MacPorts 설치와 함께 작동하도록하는 방법 참조). 다시 연결할 수 있습니까?

Answer

EasyBuild ( http://hpcugent.github.com/easybuild )를 사용하면 자신의 GCC 컴파일러 세트를 쉽게 빌드하고 설치할 수 있습니다.

기본적으로 간단한 easyconfig (.eb)를 제공합니다. 빌드 할 파일을 지정하는 파일 (GCC + 버전 + 컴파일러에서 원하는 언어 세트 + …)을 지정한 다음 빌드 및 설치는 단일 명령입니다. “Homebrew와 비슷하지만 더 많은 자유를 제공합니다.

또한 EasyBuild는 단일 명령으로 빌드 및 설치할 수있는 많은 다른 (과학적인) 소프트웨어 패키지를 지원하므로 “조사 할 가치가 있습니다.

면책 조항 : 저는 EasyBuild 팀의 일원입니다. GCC 빌드 (gfortran 포함)는 OS X에서 작동해야하지만 다른 빌드는 번거로울 수 있습니다. 문제가 발생하면 알려주세요.

댓글

  • OS X에서 테스트를 마쳤습니까? ' 작동해야하나요 ' 경험이나 기대에서 나온 것인가요?
  • @DeerHunter : 경험상 내 개인 노트북 OS X를 실행하는 Mac입니다. GCC 빌드는 작동하지만 EasyBuild는 다른 빌드에 문제가있는 것으로 알려져 있습니다. 곧 조사 할 예정입니다.
  • 업 보팅 중 … EASY_BUILD를 사용하여 Python 제품을 RPM으로 패키징 …
  • @DeerHunter EasyBuild는 현재 ' RPM으로 패키징하는 기능을 지원하지 않습니다. 아마도 ' EasyBuild (' eb ' 명령 제공)와 ' easy_install ', setuptools / disitutils에서 제공하는 Python 설치 도구입니까?
  • 맞습니다. 임의 메모리 실패. 어쨌든 EasyBuild를 확인하십시오. 포장은 fpm

답변

에 의해 수행됩니다. MacOS에서 Intel Fortran Composer를 제안합니다. 좋은 최신 상태이며 작동합니다. 한 가지 부정적인 점은 무료가 아닙니다. 30 일 무료 평가판이 있다고 생각합니다.

Linux에서는 비상업적 인 무료 버전을 제공합니다.

댓글

  • Linux 사용자는 Solaris Studio를 설치할 수도 있습니다. 매우 잘 통합되어 있습니다 (C / C ++ / Fortran 컴파일러). Dbxtool은 매우 유용하며 분석기도 마찬가지입니다 (예 : openmp 프로그램에서 경합 조건 감지).

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다