আমি কীভাবে একটি ম্যাকের উপর ফোর্টরান সংকলক ইনস্টল করব? (OS X 10.x, x> = 4)


25

সম্পর্কিত প্রশ্ন: বৈজ্ঞানিক কম্পিউটিং এবং এইচপিসিতে ম্যাক ওএসের স্টেট

গননা বিজ্ঞানের একটি উল্লেখযোগ্য সংখ্যক সফটওয়্যার প্যাকেজ ফরট্রানে রচিত এবং ফোর্টরান চলে যাচ্ছে না। অন্য সফ্টওয়্যার প্যাকেজগুলি তৈরি করার জন্য একটি ফোর্টরান সংকলকও প্রয়োজন (একটি উল্লেখযোগ্য উদাহরণ সায়পাই )।

তবে ম্যাক ওএস এক্স-এ কোনও ফোর্টরান সংকলক অন্তর্ভুক্ত নয়। আমার মেশিনে আমি কীভাবে ফোর্টরান সংকলক ইনস্টল করব?


1
এটি কেবল ফোর্টরান নয়। ম্যাকগুলিতে ডেবিয়ানের মতো উচ্চমানের সমর্থিত সংগ্রহস্থলগুলি সহজেই থাকে না যেখানে সমস্ত কিছু স্রেফ কাজ করে। ম্যাকের জটিল কোনও জিনিস ইনস্টল করা ব্যথা।
stali

উত্তর:


32

আপনার বিষ বাছুন। আমি হোমব্রু ব্যবহার করার পরামর্শ দিচ্ছি। "ফিঙ্ক" এবং "অন্যান্য পদ্ধতি" ব্যতীত আমি এই সমস্ত পদ্ধতির চেষ্টা করেছি। মূলত, আমি যখন এই উত্তরটি লিখি তখন আমি ম্যাকপোর্টগুলি পছন্দ করতাম। তার পরের দু'বছরে, হোমব্রু একটি প্রকল্প হিসাবে অনেক বেড়েছে এবং ম্যাকপোর্টের চেয়ে আরও রক্ষণাবেক্ষণযোগ্য প্রমাণ করেছে, যার জন্য প্রচুর PATHহ্যাকিংয়ের প্রয়োজন হতে পারে ।

সিস্টেম সংকলকগুলির সাথে মেলে এমন একটি সংস্করণ ইনস্টল করা

আপনি যদি মেশিনে ইনস্টল করা জিসিসি, জি ++ ইত্যাদি সংস্করণের সাথে গফর্ট্রানের সংস্করণটি চান তবে এখান থেকে গফর্ট্রানের উপযুক্ত সংস্করণটি ডাউনলোড করুনআর ডেভেলপারদের এবং SciPy ডেভেলপারদের এই পদ্ধতি সুপারিশ।

  • সুবিধাগুলি : এক্সকোড বা কেনেথ রেইটসের ইনস্টলার সহ ইনস্টল করা সংকলকগুলির সংস্করণগুলির সাথে মেলে ; ওএস আপগ্রেডগুলিতে হস্তক্ষেপ করার সম্ভাবনা কম; ম্যাকপোর্টস (এবং সম্ভবত ফিংক এবং হোমব্রিউ) এর সাথে দুর্দান্তভাবে সহাবস্থান করে কারণ এটি ইনস্টল করে /usr/bin। বিদ্যমান সংযোজনকারীদের ক্লোবার নেই। সম্পাদনা করার দরকার নেই PATH
  • অসুবিধাগুলি : সংকলক স্ট্যাকটি সত্যই পুরানো হবে। (জিসিসি ৪.২.১ হ'ল সর্বশেষ অ্যাপল সংকলক; এটি 2007 সালে প্রকাশিত হয়েছিল)) ইনস্টল করে /usr/bin

এইচপিসি ম্যাক ওএস এক্স থেকে প্রাক-কম্পাইলড, আপ টু ডেট বাইনারি ইনস্টল করা

এইচপিসি ম্যাক ওএস এক্সের জিসিসির সর্বশেষ প্রকাশের জন্য বাইনারি রয়েছে (এই লেখার সময়, ৪.৮.০ (পরীক্ষামূলক)), পাশাপাশি জি bin77 বাইনারি এবং একটি এফ 2 সি-ভিত্তিক সংকলক রয়েছে। পিইটিএসসি বিকাশকারীরা তাদের FAQ এ এই পদ্ধতির সুপারিশ করে ।

  • সুবিধাগুলি : ডান কমান্ড সহ, ইনস্টল করে /usr/local; আপ-টু-ডেট। বিদ্যমান সিস্টেম সংকলকগুলি বা উপরের পদ্ধতির ক্লোবার করে না। ওএস আপগ্রেডগুলিতে হস্তক্ষেপ করবে না।
  • অসুবিধাগুলি : সম্পাদনা করা দরকার PATH। সংস্করণগুলির মধ্যে স্যুইচ করার কোনও সহজ উপায় নেই। (আপনি পাথ পরিবর্তন করতে পারে, কম্পাইলার ইনস্টল, মুছে ফেলতে বা এটি প্রায় kludge।) মধ্যে কম্পাইলার ইনস্টল করার অন্যান্য উপায় পরাস্ত হবে /usr/local'জিসিসি' কারণ কম্পাইলার বাইনেরিতে কেবল নামকরণ করা হয়, 'ছ ++,', ইত্যাদি (ছাড়া একটি সংস্করণ সংখ্যা, এবং ছাড়া যেকোন প্রতিলিঙ্ক)।

ম্যাকপোর্টগুলি ব্যবহার করুন

ম্যাকপোর্টস ব্যবহারের জন্য উপলব্ধ সংকলকগুলির বেশ কয়েকটি সংস্করণ রয়েছে।

  • সুবিধা : ইনস্টল ইন /opt/local; port selectসংকলক সংস্করণগুলির মধ্যে স্যুইচ করতে ব্যবহার করা যেতে পারে (সিস্টেম সংকলক সহ)। ওএস আপগ্রেডগুলিতে হস্তক্ষেপ করবে না।
  • অসুবিধাগুলি : বন্দরগুলি ইনস্টল করার জন্য একটি সম্পূর্ণ "সফ্টওয়্যার ইকোসিস্টেম" প্রয়োজন। সংকলকগুলি ডিবাগিং প্রতীকগুলি অন্তর্ভুক্ত করে না, যা কোনও ডিবাগার ব্যবহার করার সময়, বা পিইটিএসসি ইনস্টল করার সময় কোনও সমস্যা তৈরি করতে পারে। ( শান ফারলে কিছুটা কাজের প্রস্তাব দেয়)) এছাড়াও পরিবর্তনের প্রয়োজন PATH। হোমব্রিউ এবং ফিঙ্ক ইনস্টলগুলির সাথে হস্তক্ষেপ করতে পারে। (সুপার ইউজারে এই পোস্টটি দেখুন ।)

হোমব্রিউ ব্যবহার করুন

হোমব্রুও একটি ফোর্টরান সংকলক ইনস্টল করতে ব্যবহার করা যেতে পারে।

  • সুবিধা : প্যাকেজ ম্যানেজার ব্যবহার করা সহজ; "সিস্টেমের সংকলকগুলির সাথে মেলে এমন সংস্করণ ইনস্টল করা" এর মতো একই ফোরট্রান সংকলক ইনস্টল করে। আপনার যা প্রয়োজন তা কেবল ইনস্টল করুন (ম্যাকপোর্টের বিপরীতে)। বিকল্প সংগ্রহস্থল হোমব্রু-ডুপস ব্যবহার করে একটি নতুন জিসিসি (4.7.0) স্ট্যাক ইনস্টল করতে পারে।
  • অসুবিধাগুলি : "সিস্টেম সংকলকগুলির সাথে মেলে এমন সংস্করণ ইনস্টল করা" থেকে সমস্ত অসুবিধাগুলি হ'ল। কোনও ঝামেলা /usr/localএড়াতে অন্যান্য (হোম-গ্রাবিবিহীন) সফ্টওয়্যার ইনস্টল করার সময় হোমব্রিউ দৃষ্টান্ত অনুসরণ করতে হতে পারে। ম্যাকপোর্টস এবং ফিংক ইনস্টলের সাথে হস্তক্ষেপ করতে পারে। (সুপার ইউজারে এই পোস্টটি দেখুন ।) পরিবর্তন করা প্রয়োজন PATH। ইনস্টলগুলি সিস্টেম লাইব্রেরিতে নির্ভর করতে পারে, যার অর্থ হোমব্রিউ প্যাকেজগুলির জন্য নির্ভরতা কোনও ওএস আপগ্রেডের উপর ভেঙে যেতে পারে। ( এই নিবন্ধটি দেখুন )) গফরস্ট্রান ইনস্টল করার সময় সিস্টেম লাইব্রেরি নির্ভরতা থাকবে বলে আমি আশা করব না, তবে অন্যান্য হোমব্রিউ প্যাকেজ ইনস্টল করার সময় এই ধরনের নির্ভরতা থাকতে পারে।

ফিঙ্ক ব্যবহার করুন

তত্ত্ব অনুসারে, আপনি গফরস্ট্রান ইনস্টল করতে ফিঙ্ক ব্যবহার করতে পারেন । আমি এটি ব্যবহার করি নি, এবং আমি এমন কাউকেই জানি না যার (এবং ইতিবাচক কিছু বলতে রাজি ছিল)।

অন্যান্য পদ্ধতি

অন্যান্য বাইনারি এবং লিঙ্কগুলি জিএফোর্টরান উইকিতে তালিকাবদ্ধ রয়েছে । কিছু লিঙ্ক ইতিমধ্যে উপরে তালিকাভুক্ত করা হয়েছে। অবশিষ্ট ইনস্টলেশন পদ্ধতিগুলি উপরে বর্ণিতগুলির সাথে বিরোধ বা নাও হতে পারে; আপনার নিজের ঝুঁকিতে ব্যবহার করুন.


একটা সময় ছিল যখন ফিংক ম্যাকপোর্টের চেয়ে পছন্দের প্যাকেজ ম্যানেজার ছিল। আমি বহু বছর আগে এটি ব্যবহার বন্ধ করে দিয়েছিলাম কারণ স্ট্যাকটি পুরানো ছিল এবং রক্ষণাবেক্ষণ করা হয়নি এবং আমি নিয়মিত ব্যবহৃত অনেক লাইব্রেরি অন্তর্ভুক্ত করি না। প্যাকেজ ম্যানেজার দ্বারা পরিচালিত কিছু জিনিস এবং আপনি নিজের হাতে রোল করে এমন কিছু জিনিস এখানে শেষ হয়। হোমব্রিউ যেমন একটি সিস্টেমের সাথে আরও ভাল, তবে ম্যাকপোর্টের সাথে সত্যিকারের প্রতিযোগিতামূলক হওয়ার জন্য এটি আরও অনেক বেশি লাইব্রেরি প্রয়োজন।
অটারেল

1
আপনি সেজে (sagemath.org) বা Qsnake ( qsnake.com ) এর মতো প্রকল্পগুলিও ব্যবহার করতে পারেন , যা তাদের নিজস্ব ফোর্টরান সংকলক পাঠায় এবং আপনাকে "পরিবেশ" এ কাজ করতে দেয়, যেখানে আপনি কেবল "গফর্ট্রান" কল করতে পারেন।
ওন্ডিজ এজাতক

আমার 10.5 বাক্সে আমার ফিঙ্কস গফর্ট্রান রয়েছে তবে এটি কখনও সত্যই গুরুতর পরীক্ষায় ফেলেনি। এটি সার্নলিব এবং জিন্ট 3 সংকলন করবে , তবে আমি ইদানীং কোনও বড় কাজ চালাচ্ছি না।
ডিএমকেকে

হোমব্রিউয়ের জন্য, গফর্ট্রান এখন এটির সাথে ইনস্টল করা হয়েছে 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
ডেভ এভারিট

শন ফারলির উইকি পৃষ্ঠার লিঙ্কটি আর কাজ করছে না (ম্যাকপোর্টস ইনস্টলগুলির সাথে ডিবাগারগুলি কীভাবে কাজ করবেন সে সম্পর্কে উল্লেখ করুন)। এই আবার সংযুক্ত করা যাবে?
টিএসজিএম

1

ইজিবিল্ড ( http://hpcugent.github.com/easybuild ) আপনাকে সহজেই নিজের জিসিসি সংকলকগুলির সেট সেট ও ইনস্টল করতে দেয় allows

মূলত, আপনি এটিকে একটি সহজ ইজিকনফিগ (.eb) ফাইল দিয়েছিলেন যা আপনি কী তৈরি করতে চান তা নির্দিষ্ট করে (জিসিসি + সংস্করণ + + + এর জন্য আপনি যে ভাষাগুলির সংকলক চান সেগুলি সেট করতে পারেন) এবং তারপরে বিল্ডিং এবং ইনস্টল করা একটি একক কমান্ড। আমি বললাম এটি কিছুটা হোমব্রিউয়ের মতো তবে এটি আপনাকে আরও স্বাধীনতা দেয়।

এছাড়াও, ইজিবিল্ড প্রচুর অন্যান্য (বৈজ্ঞানিক) সফ্টওয়্যার প্যাকেজ সমর্থন করে যা একটি একক কমান্ড দিয়ে তৈরি এবং ইনস্টল করা যায়, তাই এটি সন্ধান করা সার্থক।

দাবি অস্বীকার: আমি ইজিবিল্ড দলের অংশ। বিল্ডিং জিসিসি (গফর্ট্রান অন্তর্ভুক্ত সহ) ওএস এক্সে কাজ করা উচিত, তবে অন্যান্য বিল্ডগুলি সমস্যা হতে পারে। আমরা এটি নিয়ে কাজ করছি, আপনি কোনও সমস্যায় পড়লে আমাদের জানান।


আপনি কি ওএস এক্সে পরীক্ষা করেছেন? আপনি যখন বলেন 'কাজ করা উচিত' তা অভিজ্ঞতা বা প্রত্যাশা থেকে?
হরিণ হান্টার

@ ডিয়ারহান্টার: অভিজ্ঞতা থেকে, আমার ব্যক্তিগত ল্যাপটপটি একটি ম্যাক, ওএস এক্স চালাচ্ছে Building বিল্ডিং জিসিসি কাজ করে, তবে ইজিবিল্ড কিছু অন্যান্য বিল্ডগুলির সাথে সমস্যা বলে পরিচিত। আমরা শীঘ্রই এটি দেখার আশা করি।
কেনেথ হোস্ট

উপভোগ হচ্ছে ... দেখা যাচ্ছে, পাইথন গুডিকে আরপিএমগুলিতে প্যাকেজ করতে EASY_BUILD ব্যবহার করা হচ্ছে ...
হরিণ হান্টার

@ ডিয়ারহান্টার ইজিবিল্ডে বর্তমানে আরপিএমগুলিতে প্যাকেজিং স্টাফের জন্য সমর্থন নেই। সম্ভবত আপনি ইজিবিল্ডকে বিভ্রান্ত করছেন (যা 'ইবি' কমান্ড সরবরাহ করে), 'ইজি_ইনস্টল' দিয়ে, সেটআপটুলস / ডিসিস্টিল দ্বারা সরবরাহিত পাইথন ইনস্টলেশন সরঞ্জামটি?
কেনেথ হোস্ট

তুমি ঠিক; এলোমেলো স্মৃতি ব্যর্থতা। ইজিবিল্ড যাইহোক, চেক আউট করবে। প্যাকেজিং এর দ্বারা সম্পন্ন হয় fpm...
হরিণ হান্টার

0

আমি ম্যাকওএসে ইন্টেল ফোর্টরান সুরকারকে পরামর্শ দেব। এটি ভাল, আপ টু ডেট এবং কাজ করে। একটি নেতিবাচক জিনিস, এটি নিখরচায় নয়। আমি মনে করি যদিও 30 দিনের নিখরচায় মূল্যায়ন রয়েছে।

লিনাক্সের অধীনে তারা একটি নিখরচায়, অ-বাণিজ্যিক সংস্করণ সরবরাহ করে।


লিনাক্স ব্যবহারকারীরা সোলারিস স্টুডিওও ইনস্টল করতে পারেন। এটি খুব ভাল সংহত (সি / সি ++ / ফোর্টরান সংকলক)) Dbxtool খুব দরকারী এবং এটি বিশ্লেষক (যেমন ওপেনপ্যাম প্রোগ্রামে রেস শর্তগুলি সনাক্ত করার জন্য)।
stali
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.