Chọn thuốc độc của bạn. Tôi khuyên bạn nên sử dụng Homebrew. Tôi đã thử tất cả các phương pháp này ngoại trừ "Fink" và "Các phương pháp khác". Ban đầu, tôi thích MacPorts khi tôi viết câu trả lời này. Trong hai năm kể từ đó, Homebrew đã phát triển rất nhiều như một dự án và đã chứng minh được khả năng bảo trì cao hơn MacPorts, có thể yêu cầu rất nhiều PATH
hack.
Cài đặt phiên bản phù hợp với trình biên dịch hệ thống
Nếu bạn muốn phiên bản gfortran phù hợp với các phiên bản gcc, g ++, v.v. được cài đặt trên máy của bạn, hãy tải xuống phiên bản gfortran thích hợp từ đây . Các nhà phát triển R và các nhà phát triển SciPy đề xuất phương pháp này.
- Ưu điểm : Phù hợp với các phiên bản trình biên dịch được cài đặt với XCode hoặc với trình cài đặt của Kenneth Reitz ; không có khả năng can thiệp vào việc nâng cấp hệ điều hành; cùng tồn tại độc đáo với MacPorts (và có thể là Fink và Homebrew) vì nó cài đặt vào
/usr/bin
. Không ghi đè trình biên dịch hiện có. Đừng cần chỉnh sửa PATH
.
- Nhược điểm : Ngăn xếp trình biên dịch sẽ thực sự cũ. (GCC 4.2.1 là trình biên dịch mới nhất của Apple; nó được phát hành vào năm 2007)
/usr/bin
.
Cài đặt nhị phân được cập nhật, được biên dịch sẵn từ HPC Mac OS X
HPC Mac OS X có các tệp nhị phân cho bản phát hành GCC mới nhất (tại thời điểm viết bài này, 4.8.0 (thử nghiệm)), cũng như các tệp nhị phân g77 và trình biên dịch dựa trên f2c. Các nhà phát triển PETSc đề xuất phương pháp này trong Câu hỏi thường gặp của họ .
- Ưu điểm : Với lệnh đúng, cài đặt vào
/usr/local
; cập nhật Không ghi đè trình biên dịch hệ thống hiện có hoặc cách tiếp cận ở trên. Không can thiệp vào nâng cấp hệ điều hành.
- Nhược điểm : Cần chỉnh sửa
PATH
. Không có cách dễ dàng để chuyển đổi giữa các phiên bản. (Bạn có thể sửa đổi PATH, xóa các trình biên dịch cài đặt, hoặc kludge xung quanh nó.) Sẽ clobber các phương pháp khác của việc cài đặt trình biên dịch trong /usr/local
vì binaries biên dịch chỉ đơn giản có tên là 'gcc', 'g ++', vv (mà không có một số phiên bản, và không có bất kỳ liên kết tượng trưng).
Sử dụng MacPorts
MacPorts có một số phiên bản trình biên dịch có sẵn để sử dụng.
- Ưu điểm : Cài đặt trong
/opt/local
; port select
có thể được sử dụng để chuyển đổi giữa các phiên bản trình biên dịch (bao gồm trình biên dịch hệ thống). Không can thiệp vào nâng cấp hệ điều hành.
- Nhược điểm : Cài đặt cổng có xu hướng yêu cầu toàn bộ "hệ sinh thái phần mềm". Trình biên dịch không bao gồm các ký hiệu gỡ lỗi, có thể gây ra sự cố khi sử dụng trình gỡ lỗi hoặc cài đặt PETSc. ( Sean Farley đề xuất một số cách giải quyết.) Cũng yêu cầu thay đổi
PATH
. Có thể can thiệp vào cài đặt Homebrew và Fink. (Xem bài đăng này trên SuperUser .)
Sử dụng Homebrew
Homebrew cũng có thể được sử dụng để cài đặt trình biên dịch Fortran.
- Ưu điểm : Dễ sử dụng trình quản lý gói; cài đặt trình biên dịch Fortran giống như trong "Cài đặt phiên bản phù hợp với trình biên dịch hệ thống". Chỉ cài đặt những gì bạn cần (trái ngược với MacPorts). Có thể cài đặt ngăn xếp GCC (4.7.0) mới hơn bằng cách sử dụng kho lưu trữ thay thế homebrew-dupes.
- Nhược điểm : Kế thừa tất cả các nhược điểm từ "Cài đặt phiên bản phù hợp với trình biên dịch hệ thống". Có thể cần tuân theo mô hình Homebrew khi cài đặt phần mềm khác (không phải Homebrew)
/usr/local
để tránh làm hỏng mọi thứ. Có thể can thiệp vào cài đặt MacPorts và Fink. (Xem bài đăng này trên SuperUser .) Cần thay đổi PATH
. Việc cài đặt có thể phụ thuộc vào thư viện hệ thống, nghĩa là sự phụ thuộc cho các gói Homebrew có thể phá vỡ khi nâng cấp hệ điều hành. (Xem bài viết này .) Tôi sẽ không mong muốn có các phụ thuộc thư viện hệ thống khi cài đặt gfortran, nhưng có thể có các phụ thuộc như vậy khi cài đặt các gói Homebrew khác.
Sử dụng Fink
Về lý thuyết, bạn có thể sử dụng Fink để cài đặt gfortran. Tôi đã không sử dụng nó và tôi không biết bất cứ ai có (và sẵn sàng nói điều gì đó tích cực).
Các phương pháp khác
Các tệp nhị phân và liên kết khác được liệt kê trên wiki GFortran . Một số liên kết đã được liệt kê ở trên. Các phương pháp cài đặt còn lại có thể hoặc không thể xung đột với các phương pháp được mô tả ở trên; Sử dụng có nguy cơ của riêng bạn.