Nasıl HACCP, MPFR, MPC, ELF, paylaşılan kütüphaneler olmadan sıfırdan GCC yüklemek için?
Nasıl GCC (GNU Compiler Collection) çizik geçerli sürüm kullanarak kurarım
bağımlılıkları doğru sürümünü kullanarak, bir paket yöneticisi (gibi) yum, rpm, apt, paketi kullanarak, ve paylaşılan kütüphaneleri kullanarak değil mi?
Tipik geliştiriciler muhtemelen tipik bir şekilde GCC yüklemek istiyor için Paket Yöneticisi (yum, rpm, apt, paketi, liman, bira, vb.) ya da buradaki yönergeleri (http://gcc.gnu.org/wiki/InstallingGCC).
Benim sorum çizik, parça parça paylaşılan libaries olmadan GCC yüklemek için nasıl.
- Benim sistemi etrafında herhangi bir paylaşılan kitaplıkları yaratmadan paylaşılan kitaplıkları kullanmadan ve taşınabilir tam bağımsız bir GCC istiyorum.
- Bu aramalar GCC nedir "zor yolu" ve normal kullanıcılar için tavsiye edilmez.
GCC bağlıdır:
- GMP: GNU Birden çok Hassas Aritmetik Kütüphane
- MPFR: Çoklu duyarlıklı kayan nokta yuvarlama GNU Kütüphanesi
- MPC: Çok hassas GNU C kütüphanesi
- ELF: Çalıştırılabilir ve Linkli Biçimi Kütüphanesi
- PPL: Parma Çokyüzlülere Kütüphanesi (), bellek iyileştirmeleri için isteğe bağlı
CEVAP
Kolay Yolu
Eğer sen normal bir geliştirici, sen-ecek büyük olasılıkla istediğiniz her şeyi yüklemek kolay yolu, kullanarak sisteminizin önerilen Paket Yöneticisi (gibi apt
, yum
, rpm
, brew
, port
) veya kullanma talimatları http://gcc.gnu.org/wiki/InstallingGCC
Zor Yoldan
GCC cevabı burada "zor yoldan oluşturur çünkü" sıfırdan her şeyi olduğunu söyledi. Parça parça oluşturur ve paylaşılan kütüphaneleri kullanmaz.
GCC altyapı
GCC altyapı:
ftp://gcc.gnu.org/pub/gcc/infrastructure/
Temp dizini indirme (istediğinizi kullanabilirsiniz) koyun.
/opt/downloads
İndirme dizin veya alt dizin için farklı bir temp dizini: altyapı oluşturmak
/tmp/gcc
Altyapı bu gibi statik libaries kullanarak yapılandırma:
./configure --disable-shared --enable-static --prefix=/tmp/gcc
Disable-shared --bayrağı daha yakından bakmak değer ihtiyaçlarınıza bağlı olabilir. Sadece statik kod oluşturma olduğum için --disable-shared kullanıyorum, ve paylaşılan bir kod kurmak istemiyorum emin olmak istiyorum. Benim ihtiyacım olan tüm statik kod istiyorum yani benim diskler etrafında oluşan GCC kolayca hareket, ve paylaşılan bir kod istemiyorum. Eğer paylaşılan bir kod isterseniz, devre dışı bırak-shared --bayrak atlayın.
Sürümleri
Bu cevap komutlardan birini çalıştırdığınızda, emin komutları geçerli GCC sürüm numarasını kullanmak için güncelleme. Bu cevap komutları GCC 4.6.2.
GMP
GMP GNU Birden çok Hassas Aritmetik Kütüphanesi.
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 Çoklu duyarlıklı kayan nokta yuvarlama kütüphane. GMP 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 ise GNU Çoklu duyarlıklı C kütüphanesi. GMP ve MPFR 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 Çalıştırılabilir ve Linkli Formatı içindir. Bu kütüphane mimari-bağımsız boyut ve indian destek 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 Koleksiyonu. HACCP, MPFR, MPC, ve ELF 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
Üzerinde çizik dizinde gcc Build aynı bağlama noktası. (/Tmp içinde bina derleme host sorunları çapraz) tetikleyecektir
mkdir -p /opt/downloads/gcc-4.6.2-scratch
cd /opt/downloads/gcc-4.6.2-scratch
Yapılandırma komut ve bayrakları bir komut satırı (bu yazı web sayfa genişliği diye ayrı satırlarda onları gösterir) üzerinde olmalıdır.
Not: tam yol yapılandırmak için kullanıyoruz ve library path ortam değişkenleri ayarlayın. Biz seçmek için devre dışı önyükleme devre dışı bırakmak ve paylaşılan kitaplıklar çünkü biz istemiyoruz (Normal kullanıcılar, ister her ikisi de), ve kullanmak posıx threads ve bayrakları olan varsayılanları çünkü biz onlara (Normal kullanıcılar olabilir kullanmak istiyorsanız başka bir iş parçacığı veya atla varsayılan bayraklar). Ve bayraklar 29* *YMMV hakkında bilgi edinin
/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 sayfayı oluşturmak için nasıl yükleme bilgi, GCC büyük, çeşitli bayraklar, ve daha fazlası
http://www.acsu.buffalo.edu/~charngda/cc_build.html
Güncelleştirmeleri
Kütüphaneler bellek iyileştirmeleri için kullanılabilir ppl: bugseng.com/products/ppl/download (yorum Teşekkürler Paul)
Çalıştırabilir/.gcc kaynak dizinden/contrib download_prerequisites. (Reddit N7P için teşekkürler)
Nasıl root erişimi olmadan python modü...
Nasıl Windows pip yüklemek için?...
Nasıl stil için bir <select> sad...
Nasıl baskı yeni satır veya boşluk olm...
Nasıl dosyaları kullanarak JSP/Sunucu ...