Bir Fortran derleyicisini Mac'e nasıl kurmalıyım? (OS X 10.x, x> = 4)


25

İlgili soru: Scientific Computing ve HPC'de Mac OS'nin Durumu

Hesaplamalı bilimde önemli sayıda yazılım paketi Fortran'da yazılmıştır ve Fortran gitmiyor. Diğer yazılım paketlerini oluşturmak için bir Fortran derleyicisi de gerekir (dikkate değer bir örnek SciPy'dir ).

Ancak, Mac OS X, Fortran derleyici içermez. Fortran derleyicisini makineme nasıl monte etmeliyim?


1
Onun sadece Fortran değil. Mac'ler, sadece her şeyin çalıştığı Debian gibi yüksek kalitede desteklenen havuzlara sahip değillerdir. Mac'te karmaşık olan herhangi bir şeyi hemen hemen yüklemek bir ağrıdır.
stali

Yanıtlar:


32

Zehirini al. Homebrew kullanmanızı öneririm. "Fink" ve "Diğer Yöntemler" dışındaki tüm bu yöntemleri denedim. Aslında bu cevabı yazarken MacPorts'u tercih ettim. O zamandan bu yana iki yıl içinde, Homebrew bir proje olarak çok büyüdü ve MacPorts'tan çok daha fazla PATHhackleme gerektirebilecek daha sürdürülebilir olduğunu kanıtladı .

Sistem derleyicileriyle eşleşen bir sürüm yükleme

Makinenizde yüklü olan gcc, g ++, vb sürümleriyle eşleşecek sürümün eşleşmesini istiyorsanız, buradan uygun sürümünüzü indirin . R geliştiriciler ve scipy geliştiriciler bu yöntemi öneriyoruz.

  • Avantajları : XCode veya Kenneth Reitz'in kurucusu ile kurulan derleyici sürümleriyle eşleşir ; işletim sistemi yükseltmelerine müdahale etme olasılığı düşük; MacPorts ile (ve muhtemelen Fink ve Homebrew) birlikte var olduğu için güzel bir arada var olur /usr/bin. Mevcut derleyicileri kapatmaz. Düzenlemeye gerek yok PATH.
  • Dezavantajları : Derleyici yığını gerçekten eski olacaktır. (GCC 4.2.1 son Apple derleyici değil, 2007 yılında serbest bırakıldı) için Yükleme İşlemlerini /usr/bin.

HPC Mac OS X'ten önceden derlenmiş ve güncel bir ikili dosya yükleme

HPC Mac OS X , en son GCC sürümü için (bu yazı sırasında 4.8.0 (deneysel)) ikili dosyalara, g77 ikili dosyalarına ve f2c tabanlı bir derleyiciye sahiptir. PETSc geliştiricilerin bu yöntemi tavsiye SSS .

  • Avantajları : Doğru komut ile yükler /usr/local; güncel. Mevcut sistem derleyicilerini veya yukarıdaki yaklaşımı engellemez. İşletim sistemi güncellemelerini engellemeyecek.
  • Dezavantajları : Düzenlemeniz gerekiyor PATH. Sürümler arasında geçiş yapmanın kolay yolu yok. (PATH'yi değiştirebilir, derleyici kurulumunu silebilir veya etrafındaki tortuyu silebilirsiniz.) /usr/localDerleyici ikili dosyalarının basitçe 'gcc', 'g ++' vb. Herhangi bir sembolik bağlantılar).

MacPorts'u kullanın

MacPorts'un kullanıma hazır birkaç derleyici sürümü vardır.

  • Avantajları : Kurulumu /opt/local; port selectDerleyici sürümleri arasında geçiş yapmak için kullanılabilir (sistem derleyicileri dahil). İşletim sistemi güncellemelerini engellemeyecek.
  • Dezavantajları : Bağlantı noktaları kurmak, tüm bir "yazılım ekosistemi" gerektirme eğilimindedir. Derleyiciler, hata ayıklayıcı kullanırken veya PETSc'i kurarken sorun yaratabilecek hata ayıklama simgelerini içermez. ( Sean Farley bazı geçici çözümler önermektedir.) Ayrıca değiştirmeyi de gerektirir PATH. Homebrew ve Fink kurulumlarına müdahale edebilir. ( Bu yazı SuperUser'da görün .)

Homebrew kullanın

Homebrew ayrıca bir Fortran derleyicisini kurmak için de kullanılabilir.

  • Avantajları : Paket yöneticisinin kullanımı kolay; Fortran derleyicisini "Sistem derleyicileriyle eşleşen bir sürüm yükleme" ile aynı şekilde yükler. Yalnızca ihtiyacınız olanı yükleyin (MacPorts'un aksine). Alternatif depo homebrew-dupes kullanarak daha yeni bir GCC (4.7.0) yığını yükleyebilir miyim.
  • Dezavantajları : Tüm dezavantajları "Sistem derleyicileriyle eşleşen bir sürüm yükleme" den devralır. /usr/localHerhangi bir şeyi karıştırmamak için diğer (Homebrew olmayan) yazılımları kurarken Homebrew paradigmasını izlemeniz gerekebilir . MacPorts ve Fink kurulumlarına müdahale edebilir. ( SuperUser'daki bu yazıya bakınız .) Değiştirmeniz gerekiyor PATH. Yüklemeler, sistem kitaplıklarına bağlı olabilir; bu, Homebrew paketlerine bağımlılıkların bir işletim sistemi yükseltmesini engelleyebileceği anlamına gelir. ( Bu makaleye bakın .) Glory'i kurarken sistem kitaplığı bağımlılıkları olmasını beklemiyordum, ancak diğer Homebrew paketlerini kurarken de böyle bağımlılıklar olabilirdi.

Fink Kullan

Teorik olarak, kullanabilirsiniz Fink gfortran yükleyin. Kullanmadım ve kimseyi tanımıyorum (ve olumlu bir şey söylemeye istekliydi).

Diğer yöntemler. Diğer metodlar

Diğer ikili dosyalar ve bağlantılar GFortran wiki'de listelenmiştir . Bağlantıların bazıları zaten yukarıda listelenmiştir. Kalan kurulum yöntemleri yukarıda tarif edilenlerle çelişebilir veya olmayabilir; kullanmak kendi sorumluluğunuzdadır.


Fink'in MacPorts'ta tercih edilen paket yöneticisi olduğu bir zaman vardı. Yıllar önce kullanmayı bıraktım çünkü yığın eskiydi ve bakımı yapılmadı ve düzenli olarak kullandığım kütüphanelerin çoğunu içermiyordu. Buradaki her yöntemle ilgili olarak, paket yöneticisi tarafından yönetilen bazı şeylerle ve el ile döndürdüğünüz bazı şeylerle karşılaşırsınız. Homebrew böyle bir sistemde daha iyidir, ancak MacPorts ile rekabet edebilmek için çok daha fazla kütüphaneye ihtiyacı vardır.
aterrel

1
Ayrıca kendi Fortran derleyicisini gönderen ve "gfortran" adını verebileceğiniz "ortamda" çalışmanıza izin veren Sage (sagemath.org) veya Qsnake ( qsnake.com ) gibi projeler de kullanabilirsiniz .
Ondřej Čertík

Benim 10.5 kutumda fink’in şerefine var, ama asla gerçekten ciddi bir sınava girmedim. Bu olacak CERNLIB ve geant3 derlemek, ama ben de son zamanlarda altında herhangi bir büyük işler yürütmedin.
dmckee

Homebrew için, gfortran şimdi yüklenir 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
Dave Everitt

Sean Farley’nin Wiki sayfasına olan bağlantı artık çalışmıyor (hata ayıklayıcıların MacPorts yüklü olarak nasıl çalışacağına referans olarak). Bu tekrar bağlanabilir mi?
TSGM

1

EasyBuild ( http://hpcugent.github.com/easybuild ) kendi GCC derleyicilerinizi kolayca oluşturmanızı ve kurmanızı sağlar.

Temel olarak, ne oluşturmak istediğinizi belirten basit bir easyconfig (.eb) dosyası verirsiniz (+ için derleyicileri istediğiniz bir dizi…) (GCC + sürüm +) ve sonra da oluşturmak ve yüklemek tek bir komuttur. Biraz Homebrew gibi olduğunu söyleyebilirim, ama sana daha fazla özgürlük veriyor.

Ayrıca, EasyBuild, tek bir komutla oluşturulabilecek ve kurulabilecek birçok başka (bilimsel) yazılım paketini de desteklemektedir, bu yüzden araştırılmaya değer.

Feragatname: Ben EasyBuild ekibinin bir parçasıyım. GCC binası (gfortran dahil), OS X üzerinde çalışmalıdır, ancak diğer yapılar zahmetli olabilir. Üzerinde çalışıyoruz, sorun yaşarsanız bize bildirin.


OS X üzerinde test yaptınız mı? 'Çalışmalı mı' derken deneyim ya da beklentilerden mi geliyor?
Deer Hunter

@DeerHunter: Tecrübelerime göre, kişisel dizüstü bilgisayarım Mac işletim sistemidir ve Mac OS X'i çalıştırır. Yakında buna bakmayı umuyoruz.
Kenneth Hoste

Upvoting ... Görünüşe göre python güzelliklerini RPM'lere paketlemek için EASY_BUILD kullanıyor ...
Deer Hunter

@DeerHunter EasyBuild şu anda malzemeyi RPM'lere paketleme desteği sunmuyor. Belki EasyBuild'i ('eb' komutunu sağlar), setuptools / disitutils tarafından sağlanan Python kurulum aracı olan 'easy_install' ile karıştırıyorsunuzdur?
Kenneth Hoste

Haklısın; rastgele hafıza hataları. Yine de, EasyBuild'i kontrol edecek. Paketleme şu şekilde yapılır fpm...
Deer Hunter

0

MacOS'ta Intel Fortran Composer'ı öneririm. İyi, güncel ve işe yarıyor. Bir olumsuz şey, ücretsiz değil. Bence 30 günlük ücretsiz bir değerlendirme var.

Linux altında ücretsiz, ticari olmayan bir sürüm sunarlar.


Linux kullanıcıları ayrıca Solaris Studio'yu da kurabilirler. Çok iyi entegre olmuş (C / C ++ / Fortran derleyicileri). Dbxtool çok kullanışlıdır ve analizördür (örneğin, openmp programlarındaki yarış koşullarını tespit etmek için).
stali
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.