2009-07-24 12 views
11

मुझे लिनक्स में फोरट्रान 77 के लिए एक कंपाइलर चाहिए।लिनक्स में फोरट्रान 77 फाइलों को कैसे संकलित करें?

क्या वहां कोई निःशुल्क कंपाइलर है जो लोग उपयोग करते हैं?

मैंने g77 के बारे में सुना है, लेकिन मुझे आरपीएम नहीं मिल रहा है या इसे लिनक्स में कैसे इंस्टॉल किया जा सकता है।

धन्यवाद!

+0

क्या वितरण? आप निश्चित रूप से स्रोतों से जीसीसी संकलन सकता है, लेकिन वहाँ बेहतर तरीके ... – EFraim

+0

मैं redhat 4.1.2 – chris

+0

उपयोग कर रहा हूँ नीचे देखें हैं: RedHat 4.1.2 पर पैकेज फेडोरा पर से अलग है। – quark

उत्तर

20

जीसीसी का फोरट्रान कंपाइलर नाम बदल गया है: g77 को gfortran द्वारा प्रतिस्थापित किया गया है, जो फोरट्रान 95 और संभवतः अधिक हाल के रूपों को संभालता है।

उबंटू में पैकेज gfortran कहा जाता है:

sudo apt-get install gfortran 

(या अन्तर्ग्रथनी का उपयोग करें)

फेडोरा में पैकेज gfortran कहा जाता है और जीसीसी का हिस्सा है, जो आप शायद पहले से ही है:

sudo yum install gcc 

(या उपयोग pirut)

समान खोजें चाहिए अपने वितरण के लिए भी काम करते हैं।

अद्यतन: रेडहाट 4.1.2 पर पैकेज को gcc4-gfortran कहा जाता है। संयोग से, आप यम के साथ इस के लिए खोज करने में सक्षम होना चाहिए, और अपने प्रश्न के लिए सर्वश्रेष्ठ उत्तर हो सकता है:

yum search "*fortran*" 
+0

मैं redhat है। मैंने "सुडो यम इंस्टॉल जी77" और गफोर्ट्रान की कोशिश की लेकिन यह कहता है कि कोई पैकेज g77/gfortran उपलब्ध नहीं है। क्या मैं इसे गलत कर रहा हूँ? – chris

+0

इसे एक चीज़ के लिए g77 नहीं कहा जाता है। मैंने "रेडहाट 4.1.2 gfortran" के लिए Google खोज की है। पैकेज को स्पष्ट रूप से "gcc4-gfortran" कहा जाता है। उत्तर अपडेट कर रहा है। – quark

+0

g77 का नाम बदलकर gfortran नहीं किया गया है। वे वही नहीं हैं। –

0

सॉफ़्टवेयर स्थापित करने का साधन वितरण-विशिष्ट है। उदाहरण के लिए, उबंटू 9 में, मैं सिनैप्टिक को लात मारूंगा और फोरट्रान या जी 77 (एपीटी-गेट का उपयोग भी किया जा सकता है) के लिए खोज करूँगा।

अन्य वितरण जिन्हें मैं थोड़ा जानता हूं हालांकि मैंने यम और यस्ट के बारे में सुना है (मुझे लगता है लेकिन मुझे यकीन नहीं है) रेडहाट और सूज़।

अगर यह आपकी मानक पैकेज इंस्टॉलर के माध्यम से उपलब्ध नहीं है, तो आप इस तरह के रूप में एक और समाधान, को ढूंढना होगा:

  • एक अलग फोरट्रान उपयोग करते हुए; या
  • इसे स्रोत से बना रहा है।

वह दूसरी विधि अशुभ लगता है लेकिन यह वास्तव में नहीं है (यह सुनिश्चित करने के अलावा कि आपके पास सही निर्भरता है)। कॉन्फ़िगर/मेक/इंस्टॉलेशन प्रक्रिया जो अधिकांश स्रोत संकुलों का पालन करती है, यह क्रॉस-वितरण तरीके से करना आसान बनाता है।

कुछ आरपीएम here मिल सकते हैं। जीएनयू सॉफ्टवेयर here उपलब्ध है या आप एक तेज साइट के लिए अपने mirrors को देखना चाह सकते हैं।

1

वहाँ http://www.g95.org/ कि उपलब्ध है।

अगर मुझे अच्छी तरह से याद है कि जीएनयू में फोरट्रान कंपाइलर नहीं है लेकिन फोरट्रान प्रीप्रोसेसर (या जो भी नाम है)। यह सिर्फ आपके कोड को सी में अनुवाद करता है और इसे सी संकलक के साथ संकलित करता है। बेशक प्रदर्शन प्रक्रिया में बकवास हो जाता है।

हालांकि अगर आप फोरट्रान का उपयोग कर रहे हैं तो मुझे लगता है कि यह एक तरह की गणना परियोजना है। यदि यह मुफ्त में है (अकादमिक नहीं है और पाठ्यक्रम से संबंधित नहीं है) तो आप इंटेल फॉरट्रान कंपाइलर को मुफ्त में प्राप्त कर सकते हैं। मेरे अनुभव में यह किसी भी मुक्त कार्यान्वयन से लगभग 3-4 गुना तेजी से चला जाता है।

+0

मुझे लिनक्स के लिए इंटेल फोर्ट्रान की * फ्री * कॉपी कहां मिल सकती है? मुझे Google पर मुफ्त संस्करण खोजने में कठिनाई हो रही है। – chris

+0

मुझे लगता है कि वह 30 दिनों के मूल्यांकन लाइसेंस का जिक्र कर रहा है। –

+1

http://software.intel.com/en-us/articles/non-commercial-software-development/ – Stobor

0

आप नेटबीन्स का भी उपयोग कर सकते हैं और सी & सी ++ प्रोजेक्ट बना सकते हैं और नई .f90 फ़ाइल के साथ फोरट्रान जोड़ सकते हैं और नेटबीन्स टूल्स को चलाने और डीबग करने के लिए उपयोग कर सकते हैं। इससे पहले कि आपको gcc और gfortran संकुल को संस्थापित करना होगा।

0

मेरे अनुभव में, Red Hat वितरण (और इसके आधार पर) में gfortran शामिल है, लेकिन यह एक विकल्प है जब आप स्थापना करते हैं, इसलिए ऐसा लगता है कि आपका सिस्टम बिना किसी परेशानी के स्थापित किया गया था। यदि आपके पास इंस्टॉलेशन मीडिया है, तो मुझे लगता है कि आप वहां से gfortran स्थापित करने में सक्षम होना चाहिए।

अन्यथा, अपने सिस्टम के लिए उचित gfortran RPM प्राप्त करने के लिए, मैं related rpmfind page का सुझाव देता हूं।

एक बार जब आप gfortran स्थापित हो जाते हैं, तो मुझे लगता है कि "-std = legacy" (उद्धरण मेरा) एक F77 संकलन को काम करने की अनुमति देनी चाहिए।

1

gcc-fortran के लिए Fortran कंपाइलर का पैकेज नाम है।

linux-y3pi: # zypper what-provides gcc-fortran 
Loading repository data...                                       
Reading installed packages... 
S | Name  | Type | Version | Arch | Repository    
--+-------------+---------+---------+--------+------------------------ 
i | gcc-fortran | package | 4.5-4.2 | x86_64 | openSUSE-11.3-Oss  
i | gcc-fortran | package | 4.5-4.2 | x86_64 | openSUSE-11.3 11.3-1.82 
v | gcc-fortran | package | 4.5-4.2 | i586 | openSUSE-11.3-Oss  
[1]+ Done     yast2 
linux-y3pi: # 

http://gcc.gnu.org/fortran/

1

मैं निम्न चरणों का पालन किया है और काम किया!

  1. संपादित अपने /etc/apt/sources.list

  2. कि फाइल में इस पाठ (/etc/apt/sources.list) जोड़ें:

    deb http://hu.archive.ubuntu.com/ubuntu/ hardy universe 
    deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy universe 
    deb http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe 
    deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe 
    
  3. सहेजें फ़ाइल

  4. ओपन टर्मिनल, टाइप करें: sudo apt-get install fort77

3

अमेज़न Linux के लिए:

sudo yum --enablerepo=epel install gcc-gfortran 
2

"क्वार्क" अपने जवाब में लिखा है कि जी -77 gfortran नाम दिया गया है। वह सही नहीं है।

g77 ang gfortran विभिन्न कंपाइलर हैं। g77 जीएनयू कंपाइलर संग्रह (जीसीसी) में gfortran द्वारा को प्रतिस्थापित किया गया है, यह का नाम बदलकर gfortran नहीं है।

gfortran g95 कंपाइलर पर आधारित एक आधुनिक फोरट्रान कंपाइलर है। g77 छोड़ दिया गया है। वे कोडबेस साझा नहीं करते हैं। बाइनरी फाइलें और लाइब्रेरी जी77 और गफ्रेट्रान के बीच भी संगत नहीं हैं, क्योंकि वे विभिन्न एबीआई का उपयोग करते हैं।

g77 एक ही संकलक है जिसे f2c (जिसे Netlib से डाउनलोड किया जा सकता है) या अधिक सटीक रूप से एक शेल स्क्रिप्ट जिसे एफसीसी कहा जाता है जिसे आउटपुट पर सीसी कहा जाता है। सभी जी 77 ने सी को इंटरमीडिएट भाषा के रूप में छोड़ना था क्योंकि 1 9 80 के दशक और 1 99 0 के दशक में स्पीड पेनल्टी के साथ आया था। एफ 2 सी और जी 77 एक ही व्यक्ति द्वारा लिखे गए थे और अन्यथा समान हैं।एक आधुनिक सीपीयू (लंबी पाइप लाइन और शाखा भविष्यवाणी) और एक आधुनिक सी संकलक (ज्यादा बेहतर उर्फ ​​विश्लेषण) के साथ, G77 आप मूल f2c पर कोई लाभ देता है। gfortran, दूसरे हाथ पर, बड़े फोरट्रान 77 और फोरट्रान 66 (उर्फ FORTRAN चतुर्थ) के अलावा में आधुनिक फोरट्रान मानकों (फोरट्रान 90, 95, 2003, और 2008) का समर्थन करता है, और जी -77 और f2c पर एक स्पष्ट सुधार है। यह तेजी से कोड उत्पन्न करता है और हमें बेहतर त्रुटि संदेश देता है।

G77 द्विआधारी f2c के साथ संगत है, लेकिन gfortran साथ नहीं है। gfortran को g77 एबीआई गुजरने के लिए मजबूर किया जा सकता है -ff2c। यदि संभव हो तो यह कंपाइलर विकल्प से बचा जाना चाहिए क्योंकि यह फोरट्रान कोड के प्रदर्शन को कम करता है।

+1

हाय ने यह नहीं लिखा था। उन्होंने लिखा कि जीसीसी में अब अलग-अलग नाम के साथ एक कंपाइलर है जिसने जी77 को बदल दिया है। स्वीकृत उत्तर सही है। –

+0

यह अभी सही है। जब मैंने टिप्पणी की तो यह नहीं था। –

संबंधित मुद्दे