Building GCC from source
A request was made to upgrade GCC to the latest version. Since the 
current version 4.8.1 was not in the repo. I decided to build it from 
scratch. Speaking of scratch, I used the instructions from LFS, which I had prevoiusly used to build GCC and four times. I downloaded and built several packages that were required for 
the testing of GCC once it was built:
tcl8.6.1-src.tar.gz expect5.45.tar.gz dejagnu-1.5.1.tar.gz
Building required version of TCL:
cd unix &&
./configure --prefix=/usr           \
            --without-tzdata        \
            --mandir=/usr/share/man \
            $([ $(uname -m) = x86_64 ] && echo --enable-64bit) &&
make &&
sed -e "s@^\(TCL_SRC_DIR='\).*@\1/
Installing TCL:
make install && make install-private-headers && ln -v -sf tclsh8.6 /usr/bin/tclsh && chmod -v 755 /usr/lib/libtcl8.6.soBuilding Expect:
./configure --prefix=/usr       \
            --with-tcl=/usr/lib \
            --enable-shared     \
            --with-tclinclude=/usr/include &&
make
Installing Expect:
make install && ln -svf expect5.45/libexpect5.45.so /usr/libBuilding Dejagnu:
./configure --prefix=/usr && makeinfo --html --no-split -o doc/dejagnu.html doc/dejagnu.texi && makeinfo --plaintext -o doc/dejagnu.txt doc/dejagnu.texiInstalling Dejagnu:
make install &&
install -v -dm755   /usr/share/doc/dejagnu-1.5.1 &&
install -v -m644    doc/dejagnu.{html,txt} \
                    /usr/share/doc/dejagnu-1.5.1
Again, the three previous packages are for testing of the GCC 
installation, but with a package this large, it is wise to test it. Now 
on to the GCC build itself:
tar xvf gcc-4.8.1.tar.bz2 cd gcc-4.8.1GCC wants to be built in a separate directory:
sed -i 's/\(install.*:\) install-.*recursive/\1/' libffi/Makefile.in         &&
sed -i 's/\(install-data-am:\).*/\1/'             libffi/include/Makefile.in &&
sed -i 's/install_to_$(INSTALL_DEST) //'          libiberty/Makefile.in      &&
sed -i 's@\./fixinc\.sh@-c true@'                 gcc/Makefile.in            &&
case `uname -m` in
      i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in ;;
esac &&
mkdir ../gcc-build &&
cd    ../gcc-build &&
../gcc-4.8.1/configure          \
    --prefix=/usr               \
    --libdir=/usr/lib           \
    --libexecdir=/usr/lib       \
    --enable-shared             \
    --enable-threads=posix      \
    --enable-__cxa_atexit       \
    --disable-multilib          \
    --disable-bootstrap         \
    --disable-install-libiberty \
    --with-system-zlib          \
    --enable-clocale=gnu        \
    --enable-lto                \
    --enable-languages=c,c++,
Now to test the make. Warning, this check may take several hours:
ulimit -s 32768 && make -k check && ../gcc-4.8.1/contrib/test_Now become root and install the build:summary 
make install &&
ln -v -sf ../usr/bin/cpp /lib &&
ln -v -sf gcc /usr/bin/cc     &&
chown -v -R root:root \
    /usr/lib/gcc/*linux-gnu/4.8.1/
