Kolay yol
Tipik bir geliştiriciyseniz, http://gcc.gnu.org/wiki/InstallingGCC adresindeki talimatları veya aşağıdaki gibi sistem paketi yöneticinizi kullanarak kolay yolu kurabilirsiniz :
apt install gcc # for Debian, Ubuntu, etc.
yum install gcc # for RedHat, CentOS, etc.
brew install gcc # for Mac OS X
Zor yol
GCC, buradaki cevabın "zor yol" olduğunu söylüyor çünkü her şeyi parça parça oluşturuyor ve paylaşılan kitaplıkları kullanmıyor.
GCC altyapısı
GCC altyapısını edinin:
ftp://gcc.gnu.org/pub/gcc/infrastructure/
İndirmeleri geçici bir dizine koyun (istediğiniz dizini kullanabilirsiniz).
/opt/downloads
Altyapıyı, indirme dizininden veya alt dizinlerinden farklı bir geçici dizinde oluşturun:
/tmp/gcc
Statik kitaplıkları kullanarak altyapıyı şu şekilde yapılandırın:
./configure --disable-shared --enable-static --prefix=/tmp/gcc
--Disable-shared flag, ihtiyaçlarınıza bağlı olarak daha yakından incelenmeye değer olabilir. --Disable-shared kullanıyorum çünkü yalnızca statik kod oluşturuyorum ve herhangi bir paylaşılan kod oluşturmadığımdan emin olmak istiyorum. İhtiyacım, sonuçta ortaya çıkan GCC'yi sürücülerimde kolayca hareket ettirmek, bu nedenle tüm statik kodları istiyorum ve herhangi bir paylaşılan kod istemiyorum. Paylaşılan kodu tercih ediyorsanız, --disable-shared işaretini atlayın.
Sürümler
Bu yanıttaki komutlardan herhangi birini çalıştırdığınızda, ihtiyaçlarınıza uyan mevcut GCC sürüm numarasını kullanmak için komutları güncellediğinizden emin olun. Bu yanıttaki komutlar GCC 4.6.2 içindir.
GCC belgelerinin şunu söylediğine dikkat edin: "Gerekli araçların yeterince yeni sürümleri genellikle işe yarasa da, kitaplık gereksinimleri genellikle daha katıdır. Bazı durumlarda daha yeni sürümler işe yarayabilir, ancak belgelenen tam sürümleri kullanmak daha güvenlidir."
GMP
GMP, GNU Çok Duyarlı Aritmetik Kitaplığıdır.
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, GNU Çok hassas kayan noktalı yuvarlama kitaplığıdır. GMP'ye bağlıdır.
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
MPC, GNU Çok Duyarlı C kitaplığıdır. GMP ve MPFR'ye bağlıdır.
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, Yürütülebilir ve Bağlanabilir Biçim anlamına gelir. Bu kütüphane, mimariden bağımsız boyut ve endian desteği sağlar.
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
GCC
GCC, GNU Derleyici Koleksiyonudur. GMP, MPFR, MPC ve ELF'ye bağlıdır.
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'yi aynı bağlama noktasındaki sıfırdan bir dizin içinde oluşturun. (/ Tmp içinde oluşturmak çapraz derleme ana bilgisayar sorunlarını tetikler)
mkdir -p /opt/downloads/gcc-4.6.2-scratch
cd /opt/downloads/gcc-4.6.2-scratch
Configure komutu ve bayraklarının hepsi tek bir komut satırında olmalıdır (bu gönderi, web sayfası genişliği nedeniyle bunları ayrı satırlarda gösterir).
Not: Kütüphane yolu ortam değişkenlerini yapılandırmak için tam yolu kullanırız ve ayarlamayız. Önyüklemeyi devre dışı bırakmayı ve paylaşımlı kitaplıkları devre dışı bırakmayı seçiyoruz çünkü onları istemiyoruz (tipik kullanıcılar her ikisini de isteyebilir) ve posix evrelerini ve varsayılan olan bayrakları, onları istediğimiz için kullanmayı seçiyoruz (tipik kullanıcılar diğer evreleri kullanmak veya atlama varsayılan bayraklar). YMMV ve bayraklar hakkında okuyun burada
/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
Bu sayfa, GCC kurulum bilgileri, nasıl oluşturulacağı, çeşitli bayraklar ve daha fazlası için harikadır:
http://www.acsu.buffalo.edu/~charngda/cc_build.html
Güncellemeler
Ppl kitaplıkları bellek optimizasyonları için kullanılabilir: bkz bugseng.com/products/ppl/Download (Yorumlarda teşekkürler Paul)
./Contrib/download_prerequisites'ı gcc kaynak dizininden çalıştırabilirsiniz. (Reddit'te N7P'ye teşekkürler)