आसान तरीका
यदि आप एक विशिष्ट डेवलपर हैं, तो आप http://gcc.gnu.org/wiki/InstallingGCC या आपके सिस्टम पैकेज मैनेजर जैसे निर्देशों का उपयोग करके आसान तरीका स्थापित कर सकते हैं :
apt install gcc # for Debian, Ubuntu, etc.
yum install gcc # for RedHat, CentOS, etc.
brew install gcc # for Mac OS X
मुश्किल रास्ता
जीसीसी का कहना है कि इसका उत्तर "कठिन तरीका" है क्योंकि यह सब कुछ टुकड़ा करके बनाता है, और साझा पुस्तकालयों का उपयोग नहीं करता है।
GCC अवसंरचना
GCC अवसंरचना प्राप्त करें:
ftp://gcc.gnu.org/pub/gcc/infrastructure/
एक अस्थायी निर्देशिका में डाउनलोड करें (आप जो चाहें निर्देशिका का उपयोग कर सकते हैं)।
/opt/downloads
एक अस्थायी निर्देशिका में बुनियादी ढांचे का निर्माण करें जो डाउनलोड निर्देशिका या उसके उपनिर्देशिकाओं से अलग है:
/tmp/gcc
इस तरह स्थिर पुस्तकालयों का उपयोग करके बुनियादी ढांचे को कॉन्फ़िगर करें:
./configure --disable-shared --enable-static --prefix=/tmp/gcc
- साझा-साझा ध्वज आपकी आवश्यकताओं के आधार पर करीब से देखने योग्य हो सकता है। मैं उपयोग करने योग्य साझा करता हूं क्योंकि मैं केवल स्थिर कोड बना रहा हूं, और मैं यह सुनिश्चित करना चाहता हूं कि मैं कोई साझा कोड नहीं बनाऊं। मेरी आवश्यकता मेरे ड्राइव पर परिणामी GCC को आसानी से स्थानांतरित करने की है, इसलिए मुझे सभी स्थिर कोड चाहिए, और मुझे कोई साझा कोड नहीं चाहिए। यदि आप साझा कोड पसंद करते हैं, तो - साझा-साझा किए गए ध्वज को छोड़ दें।
संस्करण
जब आप इस उत्तर में किसी भी कमांड को चलाते हैं, तो अपनी आवश्यकताओं से मेल खाने वाले वर्तमान जीसीसी संस्करण संख्या का उपयोग करने के लिए कमांड को अपडेट करना सुनिश्चित करें। इस उत्तर में आदेश GCC 4.6.2 के लिए हैं।
ध्यान दें कि जीसीसी प्रलेखन कहता है: "जबकि आवश्यक उपकरणों के किसी भी पर्याप्त नए संस्करण में आमतौर पर काम होता है, पुस्तकालय की आवश्यकताएं आम तौर पर सख्त होती हैं। नए संस्करण कुछ मामलों में काम कर सकते हैं, लेकिन यह दस्तावेज के सटीक संस्करणों का उपयोग करने के लिए सुरक्षित है।"
जीएमपी
GMP GNU मल्टीपल प्रिसिजन अरिथमेटिक लाइब्रेरी है।
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
bunzip2 gmp-4.3.2.tar.bz2
tar xvf gmp-4.3.2.tar
cd gmp-4.3.2
./configure --disable-shared --enable-static --prefix=/tmp/gcc
make && make check && make install
MPFR
MPFR जीएनयू मल्टीपल-प्रिसिजन फ्लोटिंग-पॉइंट राउंडिंग लाइब्रेरी है। यह GMP पर निर्भर करता है।
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
bunzip2 mpfr-2.4.2.tar.bz2
tar xvf mpfr-2.4.2.tar
cd mpfr-2.4.2
./configure --disable-shared --enable-static --prefix=/tmp/gcc --with-gmp=/tmp/gcc
make && make check && make install
एमपीसी
MPC GNU मल्टीपल-प्रिसिजन C लाइब्रेरी है। यह GMP और MPFR पर निर्भर करता है।
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
tar zxvf mpc-0.8.1.tar.gz
cd mpc-0.8.1
./configure --disable-shared --enable-static --prefix=/tmp/gcc --with-gmp=/tmp/gcc --with-mpfr=/tmp/gcc
make && make check && make install
ELF
ELF का अर्थ है निष्पादन योग्य और लिंक योग्य प्रारूप। यह पुस्तकालय वास्तुकला-स्वतंत्र आकार और एंडियन समर्थन प्रदान करता है।
wget http://www.mr511.de/software/libelf-0.8.13.tar.gz
tar zxvf libelf-0.8.13.tar.gz
cd libelf-0.8.13
./configure --disable-shared --enable-static --prefix=/tmp/gcc
make && make check && make install
जीसीसी
जीसीसी जीएनयू कंपाइलर संग्रह है। यह GMP, MPFR, MPC और ELF पर निर्भर करता है।
wget http://www.netgull.com/gcc/releases/gcc-4.6.2/gcc-4.6.2.tar.gz
tar zxvf gcc-4.6.2.tar.gz
उसी आरोह बिंदु पर एक स्क्रैच डायरेक्टरी में gcc बनाएँ। (/ Tmp के भीतर इसका निर्माण क्रॉस कम्पाइल होस्ट मुद्दों को ट्रिगर करेगा)
mkdir -p /opt/downloads/gcc-4.6.2-scratch
cd /opt/downloads/gcc-4.6.2-scratch
कॉन्फ़िगर कमांड और उसके झंडे सभी एक कमांड लाइन पर होने चाहिए (यह पोस्ट वेब पेज की चौड़ाई के कारण उन्हें अलग-अलग लाइनों पर दिखाता है)।
नोट: हम लाइब्रेरी पथ पर्यावरण चर को सेट करने और कॉन्फ़िगर करने के लिए पूर्ण पथ का उपयोग करते हैं। हम बूटस्ट्रैप को अक्षम करने और साझा पुस्तकालयों को अक्षम करने का विकल्प चुनते हैं क्योंकि हम उन्हें नहीं चाहते हैं (विशिष्ट उपयोगकर्ता दोनों चाहते हैं), और पॉज़िक्स थ्रेड्स का उपयोग कर सकते हैं और झंडे जो डिफॉल्ट हैं क्योंकि हम उन्हें चाहते हैं (विशिष्ट उपयोगकर्ता अन्य थ्रेड्स का उपयोग करना चाहते हैं या छोड़ सकते हैं डिफ़ॉल्ट झंडे)। YMMV और झंडे के बारे में यहाँ पढ़ें
/opt/downloads/gcc-4.6.2/configure
--disable-shared
--disable-bootstrap
--disable-libstdcxx-pch
--enable-languages=all
--enable-libgomp
--enable-lto
--enable-threads=posix
--enable-tls
--with-gmp=/tmp/gcc
--with-mpfr=/tmp/gcc
--with-mpc=/tmp/gcc
--with-libelf=/tmp/gcc
--with-fpmath=sse
make && make install
यह पृष्ठ GCC स्थापना जानकारी, इसे बनाने के लिए, विभिन्न झंडे, और बहुत कुछ के लिए बहुत अच्छा है:
http://www.acsu.buffalo.edu/~charngda/cc_build.html
अपडेट
पीपीएल लाइब्रेरीज़ का उपयोग मेमोरी ऑप्टिमाइज़ेशन के लिए किया जा सकता है: बग्स देखें। इंप्रूव्ड्स /ppl/Download (टिप्पणियों में पॉल का धन्यवाद करें)
आप चला सकते हैं। जीसीसी स्रोत निर्देशिका से /contrib/download_prerequisites चला सकते हैं। (रेडिट पर एन 7 पी के लिए धन्यवाद)