Difference between revisions of "GCC-3.3"
(I added the package description from BLFS.) |
|||
Line 2: | Line 2: | ||
|- | |- | ||
!Download Source: | !Download Source: | ||
− | | http://ftp.gnu.org/gnu/gcc/gcc-3.3 | + | | http://ftp.gnu.org/gnu/gcc/gcc-{{GCC-3.3-Version}}/gcc-{{GCC-3.3-Version}}.tar.bz2 |
|- | |- | ||
!Download Patch: | !Download Patch: | ||
− | | http://www.linuxfromscratch.org/patches/blfs/svn/gcc-3.3 | + | | http://www.linuxfromscratch.org/patches/blfs/svn/gcc{{GCC-3.3-Version}}-no_fixincludes-1.patch |
|- | |- | ||
!Download Patch: | !Download Patch: | ||
− | | http://www.linuxfromscratch.org/patches/blfs/svn/gcc-3.3 | + | | http://www.linuxfromscratch.org/patches/blfs/svn/gcc-{{GCC-3.3-Version}}-linkonce-1.patch |
|} | |} | ||
Line 28: | Line 28: | ||
Compile the package: | Compile the package: | ||
− | patch -Np1 -i ../gcc-3.3 | + | patch -Np1 -i ../gcc-{{GCC-3.3-Version}}-no_fixincludes-1.patch && |
− | patch -Np1 -i ../gcc-3.3 | + | patch -Np1 -i ../gcc-{{GCC-3.3-Version}}-linkonce-1.patch && |
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && | sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && | ||
mkdir ../gcc-build && | mkdir ../gcc-build && | ||
cd ../gcc-build && | cd ../gcc-build && | ||
− | ../gcc-3.3 | + | ../gcc-{{GCC-3.3-Version}}/configure --prefix=/opt/gcc-{{GCC-3.3-Version}} \ |
--enable-threads=posix --disable-multilib \ | --enable-threads=posix --disable-multilib \ | ||
--enable-shared --enable-languages=c,c++ && | --enable-shared --enable-languages=c,c++ && | ||
Line 41: | Line 41: | ||
make -k check && | make -k check && | ||
− | ../gcc-3.3 | + | ../gcc-{{GCC-3.3-Version}}contrib/test_summary >test_summary.log 2>&1 && |
− | ../gcc-3.3 | + | ../gcc-{{GCC-3.3-Version}}/contrib/test_summary | \ |
grep -A7 Summ >test_summary_short.log 2>&1 | grep -A7 Summ >test_summary_short.log 2>&1 | ||
Line 56: | Line 56: | ||
make install && | make install && | ||
− | chown -Rv root:root /opt/gcc-3.3 | + | chown -Rv root:root /opt/gcc-{{GCC-3.3-Version}}/lib/gcc-lib/$(gcc -dumpmachine)/3.3.6/include |
Optionally move libstdc++.so.5 to /usr/lib: | Optionally move libstdc++.so.5 to /usr/lib: | ||
− | mv -v /opt/ | + | mv -v /opt/{{GCC-3.3-Version}}/lib/libstdc++.so.5* /usr/lib && |
− | ln -sfv /usr/lib/libstdc++.so.5.0.7 /opt/gcc-3.3 | + | ln -sfv /usr/lib/libstdc++.so.5.0.7 /opt/gcc-{{GCC-3.3-Version}}/lib && |
− | ln -sfv libstdc++.so.5.0.7 /opt/gcc-3.3 | + | ln -sfv libstdc++.so.5.0.7 /opt/gcc-{{GCC-3.3-Version}}/lib/libstdc++.so.5 |
== Multilib == | == Multilib == | ||
Line 68: | Line 68: | ||
Compile the package: | Compile the package: | ||
− | patch -Np1 -i ../gcc-3.3 | + | patch -Np1 -i ../gcc-{{GCC-3.3-Version}}-no_fixincludes-1.patch && |
− | patch -Np1 -i ../gcc-3.3 | + | patch -Np1 -i ../gcc-{{GCC-3.3-Version}}-linkonce-1.patch && |
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && | sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && | ||
mkdir ../gcc-build && | mkdir ../gcc-build && | ||
cd ../gcc-build && | cd ../gcc-build && | ||
− | ../gcc-3.3 | + | ../gcc-{{GCC-3.3-Version}}/configure --prefix=/opt/gcc-{{GCC-3.3-Version}} \ |
− | --libdir=/opt/gcc-3.3 | + | --libdir=/opt/gcc-{{GCC-3.3-Version}}/lib64 --enable-multilib \ |
--enable-threads=posix --enable-shared \ | --enable-threads=posix --enable-shared \ | ||
--enable-languages=c,c++ && | --enable-languages=c,c++ && | ||
Line 82: | Line 82: | ||
make -k check && | make -k check && | ||
− | ../gcc-3.3 | + | ../gcc-{{GCC-3.3-Version}}/contrib/test_summary >test_summary.log 2>&1 && |
− | ../gcc-3.3 | + | ../gcc-{{GCC-3.3-Version}}/contrib/test_summary | \ |
grep -A7 Summ >test_summary_short.log 2>&1 | grep -A7 Summ >test_summary_short.log 2>&1 | ||
Line 107: | Line 107: | ||
make install && | make install && | ||
− | chown -Rv root:root /opt/gcc-3.3 | + | chown -Rv root:root /opt/gcc-{{GCC-3.3-Version}}/lib64/gcc-lib/$(gcc -dumpmachine)/3.3.6/include |
Optionally move libstdc++.so.5 to /usr/lib: | Optionally move libstdc++.so.5 to /usr/lib: | ||
Line 113: | Line 113: | ||
==== 32Bit ==== | ==== 32Bit ==== | ||
− | mv -v /opt/gcc-3.3 | + | mv -v /opt/gcc-{{GCC-3.3-Version}}/lib/libstdc++.so.5* /usr/lib && |
− | ln -sfv /usr/lib/libstdc++.so.5.0.7 /opt/gcc-3.3 | + | ln -sfv /usr/lib/libstdc++.so.5.0.7 /opt/gcc-{{GCC-3.3-Version}}/lib && |
− | ln -sfv libstdc++.so.5.0.7 /opt/gcc-3.3 | + | ln -sfv libstdc++.so.5.0.7 /opt/gcc-{{GCC-3.3-Version}}/lib/libstdc++.so.5 |
==== N32 ==== | ==== N32 ==== | ||
− | mv -v /opt/gcc-3.3 | + | mv -v /opt/gcc-{{GCC-3.3-Version}}/lib32/libstdc++.so.5* /usr/lib32 && |
− | ln -sfv /usr/lib32/libstdc++.so.5.0.7 /opt/gcc-3.3 | + | ln -sfv /usr/lib32/libstdc++.so.5.0.7 /opt/gcc-{{GCC-3.3-Version}}/lib32 && |
− | ln -sfv libstdc++.so.5.0.7 /opt/gcc-3.3 | + | ln -sfv libstdc++.so.5.0.7 /opt/gcc-{{GCC-3.3-Version}}/lib32/libstdc++.so.5 |
==== 64Bit ==== | ==== 64Bit ==== | ||
− | mv -v /opt/gcc-3.3 | + | mv -v /opt/gcc-{{GCC-3.3-Version}}/lib64/libstdc++.so.5* /usr/lib64 && |
− | ln -sfv /usr/lib64/libstdc++.so.5.0.7 /opt/gcc-3.3 | + | ln -sfv /usr/lib64/libstdc++.so.5.0.7 /opt/gcc-{{GCC-3.3-Version}}/lib64 && |
− | ln -sfv libstdc++.so.5.0.7 /opt/gcc-3.3 | + | ln -sfv libstdc++.so.5.0.7 /opt/gcc-{{GCC-3.3-Version}}/lib64/libstdc++.so.5 |
Revision as of 15:26, 17 December 2006
Contents
Introduction to GCC-3.3
There are several reasons why you may wish to install GCC-3.3. Some packages have not been updated so they can be successfully compiled by GCC-4.0.3 as version 4.x.x of GCC is much stricter in enforcing coding standards. Additionally, some pre-compiled packages may require the GCC-3.3 libraries at run-time. Another reason you may need to install GCC-3.3 is to use the g77 Fortran 77 compiler provided by pre-4.x.x versions of GCC. GCC-4.x.x only includes gfortran, a Fortran 95 compatible compiler that is not yet ready to be used in a production environment.
If all you need is a working {f,g}77 Fortran 77 compiler, you may wish to use the one provided by GCC-3.4.x. This is what the GCC developers recommend. (Non-Multilib) Instructions for building the GCC-3.4.x Fortran compiler can be found on the BLFS Wiki.
Dependencies
Optional (Testsuite)
Non-Multilib
Compile the package:
patch -Np1 -i ../gcc-3.3.6-no_fixincludes-1.patch && patch -Np1 -i ../gcc-3.3.6-linkonce-1.patch && sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && mkdir ../gcc-build && cd ../gcc-build && ../gcc-3.3.6/configure --prefix=/opt/gcc-3.3.6 \ --enable-threads=posix --disable-multilib \ --enable-shared --enable-languages=c,c++ && make bootstrap
If desired, run the test suite using the following commands:
make -k check && ../gcc-3.3.6contrib/test_summary >test_summary.log 2>&1 && ../gcc-3.3.6/contrib/test_summary | \ grep -A7 Summ >test_summary_short.log 2>&1
Installing libstdc++ Only
Copy libstdc++.so.5 to /usr/lib.
cp -av $(gcc -dumpmachine)/libstdc++-v3/src/.libs/libstdc++.so.5* /usr/lib
Installing the Complete Package
Install the entire package:
make install && chown -Rv root:root /opt/gcc-3.3.6/lib/gcc-lib/$(gcc -dumpmachine)/3.3.6/include
Optionally move libstdc++.so.5 to /usr/lib:
mv -v /opt/3.3.6/lib/libstdc++.so.5* /usr/lib && ln -sfv /usr/lib/libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib && ln -sfv libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib/libstdc++.so.5
Multilib
Compile the package:
patch -Np1 -i ../gcc-3.3.6-no_fixincludes-1.patch && patch -Np1 -i ../gcc-3.3.6-linkonce-1.patch && sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && mkdir ../gcc-build && cd ../gcc-build && ../gcc-3.3.6/configure --prefix=/opt/gcc-3.3.6 \ --libdir=/opt/gcc-3.3.6/lib64 --enable-multilib \ --enable-threads=posix --enable-shared \ --enable-languages=c,c++ && make bootstrap
If desired, run the test suite using the following commands:
make -k check && ../gcc-3.3.6/contrib/test_summary >test_summary.log 2>&1 && ../gcc-3.3.6/contrib/test_summary | \ grep -A7 Summ >test_summary_short.log 2>&1
Installing libstdc++ Only
Copy libstdc++.so.5 to /usr/lib.
32Bit
cp -av $(gcc -dumpmachine)/32/libstdc++-v3/src/.libs/libstdc++.so.5* /usr/lib
N32
Please Contribute
64Bit
cp -av $(gcc -dumpmachine)/libstdc++-v3/src/.libs/libstdc++.so.5* /usr/lib64
Installing the Complete Package
Install the entire package:
make install && chown -Rv root:root /opt/gcc-3.3.6/lib64/gcc-lib/$(gcc -dumpmachine)/3.3.6/include
Optionally move libstdc++.so.5 to /usr/lib:
32Bit
mv -v /opt/gcc-3.3.6/lib/libstdc++.so.5* /usr/lib && ln -sfv /usr/lib/libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib && ln -sfv libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib/libstdc++.so.5
N32
mv -v /opt/gcc-3.3.6/lib32/libstdc++.so.5* /usr/lib32 && ln -sfv /usr/lib32/libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib32 && ln -sfv libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib32/libstdc++.so.5
64Bit
mv -v /opt/gcc-3.3.6/lib64/libstdc++.so.5* /usr/lib64 && ln -sfv /usr/lib64/libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib64 && ln -sfv libstdc++.so.5.0.7 /opt/gcc-3.3.6/lib64/libstdc++.so.5