Last active
February 20, 2024 08:46
-
-
Save jdhao/e3fd77d51f3a95684d2b3354fc61b2ab to your computer and use it in GitHub Desktop.
The script will install GCC 5.4.0 on your CentOS 7 system, make sure you have root right. See https://jdhao.github.io/2017/09/04/install-gcc-newer-version-on-centos/ for more details.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
echo "Downloading gcc source files..." | |
curl https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2 -O | |
echo "extracting files..." | |
tar xvfj gcc-5.4.0.tar.bz2 | |
echo "Installing dependencies..." | |
yum -y install gmp-devel mpfr-devel libmpc-devel | |
echo "Configure and install..." | |
mkdir gcc-5.4.0-build | |
cd gcc-5.4.0-build | |
../gcc-5.4.0/configure --enable-languages=c,c++ --disable-multilib | |
make -j$(nproc) && make install |
@miamartin8, I think you can just install gcc 4.8. Multitiple gcc installation is fine, you can just add --prefix /gcc/install/path
to indicate where you want to install it instead of the default location. After installation, you can manipulate your $PATH
variable to indicate which gcc you want to use.
Ref: https://askubuntu.com/questions/891835/what-does-prefix-do-exactly-when-used-in-configure
too dependent on yum can be problematic since it requires sudo.
@knasim, yeah, that is true. If you do not have sudo rights, you also have to compile the dependencies from source.
At the time of writing this script, I had sudo rights, so I just installed the dependency via yum.
@jdhao
do I need to add this in my profile?
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
or optional?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@jdhao thank you for posting this...it was very helpful! Now I need to downgrade back to gcc 4.8, but I am unable to. Any advice on how to do so?