আমি কীভাবে হোমব্রিউয়ের মাধ্যমে জিসিসি ইনস্টল করব?


79

আমি একচেটিয়াভাবে হোমব্রু ব্যবহার করছি (যেমন আমি ম্যাকপোর্টস বা ফিঙ্ক ব্যবহার করি না এবং করব না)। আমি ম্যানুয়াল ইনস্টলেশনগুলিও সর্বনিম্ন রাখতে চাই। 1

… তবে আমি কীভাবে জিসিসি ইনস্টল করতে পারি?

প্রথমত, আমি অবশ্যই এক্সকোড ইনস্টল করেছি তবে বর্তমান সংস্করণটি খুব সুন্দরভাবে আপ টু ডেট জিসিসি দিয়ে শিপিং করে না (আমার এটাকে কমপক্ষে ৪.৫ প্রয়োজন, তবে সবচেয়ে সাম্প্রতিকতমটি পছন্দ করবে) - আসলে, এটি শিপ করে না মোটামুটি একটি উপযুক্ত জিসিসি সহ (এটি কেবল কলঙ্ক চালায় ) এবং এটি হোমব্রিউয়ের জন্য সমস্যা বলে মনে হচ্ছে ...

আমি কাস্টম জিসিসি এবং ক্রস সংকলকগুলির একটি তালিকা সম্পর্কে অবগত রয়েছি তবে বাস্তবে instal সমস্ত ইনস্টলেশনগুলির জন্য ইতিমধ্যে ইনস্টল করা জিসিসি দরকার - কমপক্ষে, brewআইংগুলি লিংকের ত্রুটিগুলিতে ব্যর্থ হয় যা আমি ক্ল্যাংকে দায়ী করি, এবং -use-gccস্পষ্টতই কাজ করে না কারণ।

brew doctor কেবলমাত্র আমি ইতিমধ্যে যা জানি তা উল্লেখ করে, কোনও জিসিসি (4.2.x) ইনস্টল করা নেই।


1 আমি এর আগে ম্যাকপোর্টস, হোমব্রিউ এবং কয়েকটি ম্যানুয়াল ইনস্টলেশন মিশ্রিত করেছি এবং একটি রক্ষণাবেক্ষণ এবং সংস্করণ রূপান্তর শেষ করেছি। আমি আর সেখানে যেতে চাই না।


এর আউটপুট কি gcc --version? আমি পেয়েছি i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)এবং আমি এমএএস থেকে সহজভাবে এক্সকোড ইনস্টল করেছি। এছাড়াও আউটপুট কি echo $PATH?
জিও

@ জিও আমি একই আউটপুট পেয়েছি। $PATHস্বাভাবিক (এটি সর্বোপরি একটি ফাঁকা ব্যবস্থা): /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin... তবে আমি মনে করি না যে এটি গুরুত্বপূর্ণ matters হোমব্রু-ওয়েল দ্বারা প্রদত্ত সূত্রগুলি কেবল পুরানো এবং ক্লেংয়ের সাথে কাজ করে না।
কনরাড রুডলফ

1
হোমব্রিউ কেন ব্যবহার করবেন? ম্যাকপোর্টগুলি সংকলকগুলির একাধিক সংস্করণ পরিচালনা করতে ভাল। আর MacPorts কি করতে পারেন কিছু যে Homebrew করতে পারেন।
জেফ বার্ডেজ

পুনঃটুইট প্রায় কোনও বিভাগে।
কনরাড রুডল্ফ

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

উত্তর:


30

@Konrad রুডলফ দ্বারা উপলব্ধ সমাধান সম্পূর্ণভাবে সঠিক আর যেমন জিসিসি সূত্র যে, তিনি উল্লেখ থেকে সরিয়ে নেওয়া হয়েছে নয় homebrew/dupesথেকে homebrew/versions। আপনি জিসিসির কোন সংস্করণ ইনস্টল করবেন তা চয়ন করতে পারেন। উদাহরণস্বরূপ, এই উত্তরটি লেখার সময়, সংস্করণ 4.5, 4.7 এবং 4.8 পাওয়া যায়। আপনি এখানে কোন সংস্করণগুলি উপলভ্য তা পরীক্ষা করে দেখতে পারেন ।

সংক্ষেপে, আপনি ব্যবহার করে জিসিসি 4.8 ইনস্টল করতে পারেন

brew tap homebrew/versions
brew install [flags] gcc48

ব্যবহার করে আপনি ইনস্টল থাকা পতাকাগুলি দেখতে পারেন

brew options gcc48

আমি এই চেষ্টা এবং আমি ইনস্টল করতে বুঝেছি কিন্তু এটা ভালো ডাইস:gcc-4.8 hello.c gcc-4.8: error trying to exec 'as': execvp: No such file or directory
ওয়ারেন পি

@ ওয়ারেনপি আপনি কি কারও সাথে ইনস্টল করেছেন [flags]? আমার মেশিনে, আমি কোনও পতাকা ছাড়াই ইনস্টল করেছি এবং এটি দুর্দান্ত কাজ করে। আপনি gcc-4.8কোনও ইনপুট ফাইল ছাড়াই কল করার চেষ্টা করছেন না এবং দেখবেন যে আপনি কোনও মারাত্মক ত্রুটি পেয়েছেন? এছাড়াও চেষ্টা করুন ls /usr/local/Cellar/gcc48/4.8.0/binএবং দেখুন যে ডিরেক্টরিতে রয়েছে কিনা gcc-4.8
yihangho

gcc-4.8 --versionএটিতে জিসিসি-৪.৮ রয়েছে এবং এটি চালায় তবে এটি নামের গৌণ সরঞ্জামটি কার্যকর করতে পারে না asএবং তাই এটি মারা যায়।
ওয়ারেন পি

হুম ... সত্যি বলতে কীভাবে এটি সমাধান করবেন আমার কোনও ধারণা নেই। হতে পারে আমাদের আরও কিছু অভিজ্ঞ ব্যবহারকারীর জন্য অপেক্ষা করতে হবে ...
yihangho

2
@ এনকিন্ট এটি হয় বা alias g++='g++-4.8'আপনার এ যোগ করুন .bashrc
yihangho

38

হোমব্রিউ সমাধান

আমার নিজের প্রশ্নের উত্তর দিতে, homebrew-versionsএখন জিসিসির মোটামুটি আপ টু ডেট সূত্র রয়েছে । এটি ব্যবহার করে ইনস্টল করা যেতে পারে

brew install [flags] https://raw.github.com/Homebrew/homebrew-versions/gcc48.rb

যেখানে [flags]প্রয়োজনীয় সমস্ত ভাষা অন্তর্ভুক্ত করা উচিত, যেমন ( --enable-cxx --enable-fortran)।

এটি এক্সিকিউটেবলগুলি প্রত্যয় সহ ইনস্টল করবে, সংঘর্ষ এড়ানোর জন্য gccঅ্যাক্সেস করতে হবে gcc-version। যদি প্রয়োজন হয় তবে এই সংস্করণটিকে ডিফল্ট করার জন্য কেউ উপযুক্ত সিমলিংক তৈরি করতে পারে।

ম্যানুয়াল ইনস্টলেশন

বিকল্পভাবে , একটি আপ টু ডেট জিসিসি (লেখার সময় হিসাবে) নিম্নলিখিত শেল স্ক্রিপ্টটি ব্যবহার করে ম্যানুয়ালি সংকলন করা যেতে পারে :

VERSION=4.7.0
PREFIX=/usr/gcc-$(VERSION)
LANGUAGES=c,c++,fortran
MAKE=make
# Or
# MAKE='make -j 4' # to compile using four cores

brew-path() { brew info $1 | head -n3 | tail -n1 | cut -d' ' -f1; }

# Prerequisites

brew install gmp
brew install mpfr
brew install libmpc

# Download & install the latest GCC

mkdir -p $PREFIX
mkdir temp-gcc
cd temp-gcc
wget ftp://ftp.gnu.org/gnu/gcc/gcc-$VERSION/gcc-$VERSION.tar.gz
tar xfz gcc-$VERSION.tar.gz
rm gcc-$VERSION.tar.gz
cd gcc-$VERSION

mkdir build
cd build

../configure \
   --prefix=$PREFIX \
   --with-gmp=$(brew-path gmp) \
   --with-mpfr=$(brew-path mpfr) \
   --with-mpc=$(brew-path libmpc) \
   --program-suffix=-$VERSION \
   --enable-languages=$LANGUAGES \
   --with-system-zlib \
   --enable-stage1-checking \
   --enable-plugin \
   --enable-lto \
   --disable-multilib

$MAKE bootstrap

make install

# Uncomment for cleanup …
# cd ../../..
# rm -r temp-gcc

এটি জিসিসির পথে যাত্রা করবে /usr/gcc-4.7.0। এখন আপনাকে যা করতে হবে তা হ'ল হয় এক্সিকিউটেবলের সাথে সিমলিংক তৈরি করা বা binডিরেক্টরিটি $PATHভেরিয়েবলের সাথে যুক্ত করা।


1
ওয়াইনের একটি কার্যকরী সংস্করণ সংকলন করার চেষ্টা করে, আমি একটি নিখোঁজ জিসিসির সমস্যার মধ্যেও পড়েছিলাম - দুর্ভাগ্যক্রমে হোমব্রিউয়ের মাধ্যমে v4.7 ইনস্টল করা আমাকে কিছু ত্রুটি দিয়েছে; সুতরাং আমি brew tap homebrew/dupesঅনুসরণ করে অ্যাপল v4.2 এর জন্য গিয়েছিলাম brew install apple-gcc42। এটি আমাকে একটি ওয়ার্কিং জিসিসি এবং ওয়াইন পেতে সহায়তা করেছিল। আপনি এখানে থেকে বাইনারিগুলি ( হোমব্রিউ
iolsmit

@ আইলসমিট আপনার অবশ্যই জিসিসি 4.7 ইনস্টল করে আবার পরিষ্কার, আপডেট টু ডেট হোমব্রিউ দিয়ে চেষ্টা করা উচিত। এটি একটি কবজ মত কাজ করা উচিত। যদি তা না হয় তবে দয়া করে হোমব্রিউ-ডুপস রক্ষণাবেক্ষণকারীদের কাছে একটি বাগ ফাইল করুন।
কনরাড রুডলফ

3
brew tap homebrew/dupes; brew install gcc --use-llvm। দেখুন github.com/Homebrew/homebrew-dupes/issues/20
PHS

আপনি যে প্রশ্নগুলি জিজ্ঞাসা করছেন তার উত্তর দিচ্ছেন কোনারাডরুডল্ফ যেখানেই আমি ঘুরেছি! ধন্যবাদ :)
রিক স্মিথ-উন্না

1
@ ওয়ারেনের আর্তচিৎকার করার দরকার নেই - তবে অনুস্মারকটির জন্য ধন্যবাদ, কারণ ইয়াহাং আসলে উত্তম টু ডেট উত্তর পোস্ট করেছে যা আমি এখন গ্রহণ করেছি।
কনরাড রুডল্ফ

13

আমি আজ কাউকে এই পুরানো পোস্টে লিঙ্ক দেখেছি। এখনই হোমব্রিউতে জিসিসি ইনস্টল করার সর্বোত্তম উপায়টি সঠিক brew install gcc। আপনার যদি এক্সকোড কমান্ড লাইন সরঞ্জামগুলি থাকে (সেগুলি এক্সকোড থেকে পৃথক; আপনি সেগুলি দিয়ে ইনস্টল করতে পারেন xcode-select --install) ইনস্টল করা থাকে তবে পূর্বনির্ধারিত সংস্করণ ইনস্টল করা হবে (যা খুব দ্রুত)।


3

আমারও এই সমস্যা ছিল এর চেয়ে বেশি হ'ল আমাকে গফর্ট্রান ব্যবহার করা দরকার যা ম্যাকের এলএলভিএম-জিসিসি-র স্ট্যান্ডার্ড (পুরানো) ইনস্টলের সাথে আসে না।

সিসিতে হাই পারফরম্যান্স কম্পিউটিং বিল্ডসকে আপ টু ডেট হতে দেখেছি এবং সিংহটিতে দুর্দান্ত কাজ করেছে।


আমি এই চেষ্টা করেছিলাম। এটি কেবল কার্যকর হয়নি, তবে তিনি যে ইনস্টলেশন কৌশলটি ব্যবহার করছেন তা বেশ বিপজ্জনক। আমাকে সাবধানতার সাথে সব কিছু পূর্বাবস্থায় ফেলার জন্য এক ঘন্টা সময় নিয়েছে।
বব আমান

2
ওহ, আমার বলা উচিত ছিল যে আমি তার পরামর্শ মতো ইনস্টল করব না। আমি কেবল ফাইলটি অনাড় করে দিয়েছি এবং বাইনারিটি যা চাই তার সাথে একটি সিমিলিংক তৈরি করে নিশ্চিত করি যে সিমলিংকটি আমার প্যাথের কোথাও রয়েছে। সাধারণত এটি আমার পথে "স্থানীয়" কিছু যোগ করে is / বিন / বা অন্য কোনও কিছু যুক্ত করে করা হয়।
সেমি 2

হ্যাঁ, এটা আরও বুদ্ধিমান হতে হবে। তার ইনস্টল প্রক্রিয়াটি বাদামকে ফ্রি করে দিচ্ছে এবং অন্ধভাবে চালিয়ে যাওয়ার চেয়ে আমার ততটা অনুমান করা উচিত ছিল।
বব আমান

3

মামলা যে কেউ এই পুরাতন থ্রেড এ দেখায়, এটা homebrew / সংস্করণ বর্তমানে গৃহীত উত্তর ব্যবহৃত হয়েছে বলে মনে হয় অবচিত পক্ষে homebrew / কোর । শুধু চালান brew install <formula>


আপনি কী দয়া করে ব্যাখ্যা করতে পারেন যে এটি ওপির প্রশ্নের সাথে কীভাবে হয় যা হোমব্রিউয়ের মাধ্যমে জিসিসি ইনস্টল করবেন কীভাবে?
fsb

@fsb উত্তর আপডেট হয়েছে।
আভি

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

একটি নতুন প্রশ্ন জিজ্ঞাসা সংস্করণ নির্দিষ্ট করতে জিজ্ঞাসা করা উচিত যেখানে এই পরিবর্তন হয়? এই পুরানো পোস্টটি ঠিক করা কম সুবিধা, উচ্চ বিলম্ব বলে মনে হচ্ছে।
bmike

আমার যদি যথেষ্ট খ্যাতি পয়েন্ট থাকে তবে আমি তার পরিবর্তে গৃহীত সমাধান সম্পর্কে মন্তব্য করতাম। নির্দ্বিধায় এটি নিজেই করুন।
অভি

0

আপনি এটি চেষ্টা করতে পারেন - https://github.com/kennethreitz/osx-gcc-installer - আমি হোমব্রু এবং অন্যদের (পুরু) সাথে প্যাকেজ সংকলন করতে সিংহকে আপগ্রেড করার পরে এটি সফলভাবে ব্যবহার করেছি।

আমাকে পড়া থেকে:

ওএসএক্স জিসিসি ইনস্টলার আপনি যদি কেবলমাত্র জিসিসি এবং সম্পর্কিত সরঞ্জামগুলি চান তবে বিশাল এক্সকোড ইনস্টলারটি ডাউনলোড এবং ইনস্টল করা একটি বিশাল ঝামেলা।

অসক্স-জিসিসি-ইনস্টলার আপনাকে প্রাক-বিল্ট বাইনারি প্যাকেজগুলি থেকে প্রয়োজনীয় সংকলকগুলি ইনস্টল করতে দেয় বা আপনাকে নিজের ইনস্টলার তৈরি করতে সহায়তা করে।


এটি কেবল এক্সকোড দ্বারা ইনস্টল হওয়া সংস্করণগুলি ইনস্টল করে। অন্য কথায়: পুরানো, এবং আসলে জিসিসি নয়, এলএলভিএম-জিসিসি।
কনরাড রুডলফ

1
পুরানো: হ্যাঁ প্যাকেজের মূল বিষয় হ'ল এটি Xcode শিপড ইউটিলিটিস, তবে এক্সকোডের জন্য প্রয়োজনীয় সমস্ত বিশাল উপাদান ছাড়াই। জিএনইউ জিসিসি নয়: ভুল। /usr/bin/gccএলএলভিএম জিসিসি-তে একটি সিমিলিংক, তবে আপনার .bash_profile বা উপযুক্ত ফাইলটিতে সুস্পষ্ট রেফারেন্স /usr/bin/gcc-4.2বা সেটিংটি export CC="gcc-4.2"ইস্যুটিও প্রশমিত করে। ( এই স্ট্যাক ওভারফ্লো প্রশ্নটিও দেখুন ))
জেসন সালাজ

2
মনে রাখবেন যে, এই প্রকল্পের Xcode দ্বারা অ্যাপল এর অফিসিয়াল কম্যান্ড লাইন টুলস ছাপিয়ে করা হয়েছে: kennethreitz.org/essays/xcode-gcc-and-homebrew
Arto Bendiken
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.