I would suggest running this in a screen session.
mkdir -p $HOME/bin $HOME/gcc/src $HOME/gcc/bin $HOME/gcc/lib
ln -s $HOME/gcc/lib $HOME/gcc/lib64
set +h # disable shell hashing to ensure mid-installation binutils are used immediately
export PATH="$HOME/gcc/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/gcc/lib:$LD_LIBRARY_PATH"
cd $HOME/gcc/src
wget 'http://www.netgull.com/gcc/releases/gcc-7.5.0/gcc-7.5.0.tar.xz'
tar -xf gcc-7.5.0.tar.xz
cd gcc-7.5.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --prefix=$HOME/gcc --with-local-prefix=$HOME/gcc \
--with-system-zlib --with-gnu-as --with-gnu-ld --enable-clocale=gnu \
--enable-shared --enable-threads=posix --enable-__cxa_atexit \
--disable-nls --disable-multilib
make # Now go to sleep, as this takes ~4 hours.
make install # Resist the temptation to "make -j8" because you'll probably
# exceed your account memory quota...
############################################################
# Clean up & set Environment
############################################################
set -h
rm -rf $HOME/gcc/src
cd $HOME/gcc/bin && ln -s gcc cc
echo 'export PATH="$HOME/bin:$HOME/gcc/bin:$PATH"' >> $HOME/.bashrc
echo 'export CC="$HOME/gcc/bin/gcc"' >> $HOME/.bashrc
echo 'export CPPFLAGS="-I$HOME/include -I$HOME/gcc/include $CPPFLAGS"' >> $HOME/.bashrc
echo 'export LDFLAGS="-L$HOME/lib -L$HOME/gcc/lib $LDFLAGS"' >> $HOME/.bashrc
echo 'export LD_LIBRARY_PATH="$HOME/lib:$HOME/gcc/lib:$LD_LIBRARY_PATH"' >> $HOME/.bashrc
Now log out and back in again, and which gcc
should show ~/gcc/bin/gcc
.
answered
16 Nov '17, 08:04
ryans ♦♦
5.0k●10●39●60
accept rate:
43%