I'm trying to install g++ 5.x on an EC2 instance running Amazon Linux; in Amazon's central repository the latest version is 4.8.3. What configuration to can I make to allow yum to find a newer gcc-c++ package?
Late to the party, but for those like me:
sudo yum install gcc72 gcc72-c++
For Amazon Linux 2, you have to install the following
sudo yum install -y gcc-c++
It's a requirement to install some Ruby gems that need native extensions
Installing gcc5:
# Install required libraries
sudo yum install libmpc-devel mpfr-devel gmp-devel
# Gather source code
export GCC_VERSION=5.5.0
cd /tmp
curl -o "gcc-${GCC_VERSION}.tar.gz" \
https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/gcc- ${GCC_VERSION}.tar.gz
tar xvzf "gcc-${GCC_VERSION}.tar.gz"
cd gcc-${GCC_VERSION}
# Configure and compile
./configure --with-system-zlib --disable-multilib --enable-languages=c,c++
make -j 8
# Install
sudo make install
Ensure /usr/local/bin/ is in your PATH
You may advantageously install version 7.3.0 released on 25th January 18 here
You can run yum whatprovides g++ and it will output a list of different packages versions that provide the the g++ file.
example output:
...
gcc-c++-7.3.1-12.amzn2.x86_64 : C++ support for GCC
Repo : amzn2-core
Matched from:
Filename : /usr/bin/g++
gcc-c++-7.3.1-13.amzn2.x86_64 : C++ support for GCC
Repo : amzn2-core
Matched from:
Filename : /usr/bin/g++
On Amazon Linux 2 you can run sudo yum groupinstall "Development Tools" which will install many compilers and dependencies including g++
Probably like "amazon linux ami release 2016.03", when you have gcc-4.8.3 .
This OS is very close to CentOS 7.2 / RHEL 7.
Please try : # yum install centos-release-scl
If OK, you can do : # yum install devtoolset-4-gcc-c++ ... and get g++, gcc version 5.2.1 .
Enabling "5.2.1" : $ scl enable devtoolset-4 bash . Be aware that the setting is valid for the current terminal session only.
If any issues, I can supply a link to the four packages required for g++, gcc.
Related
I recently set up an AWS EC2 Linux instance, and I'm trying to install boost using the following code:
wget -c
http://sourceforge.net/projects/boost/files/boost/1.66.0/boost_1_66_0.tar.bz2
tar jxf boost_1_66_0.tar.bz2
cd boost_1_66_0
sudo ./bootstrap.sh --prefix=/usr/local/
./b2
sudo ./b2 install
When I run this, I get the following:
error: toolset gcc initialization:
error: no command provided, default command 'g++' not found
error: initialized from project-config.jam:12
Also, when I tried installing g++, which I thought I had already done by issuing this:
sudo yum install gcc-c++
The result:
Package gcc-c++-4.8.5-1.22.amzn1.noarch already installed and latest version
Nothing to do
On AWS Linux the way to go is described here: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/compile-software.html
Or execute command:
sudo yum groupinstall "Development Tools"
This should help.
It seems like you are missing other build tools required for compiling. Installing following should fix your problem,
sudo yum install -y gcc libxml2-devel gcc-c++ make
You can uninstall the tools afterwards.
I just started an AWS EC2 instance using an Amazon linux instance. I tried installing libel-dev and g++ like sudo yum libel-dev g++ make, but I get:
No package libssl-dev available.
No package g++ available.
So how can I install libel-dev and g++?
Thank you and will be sure to vote up/accept answer!
For libssl equivalent, this one worked sudo yum install openssl-devel -y
For g++, sudo yum install gcc -y
Since you have tagged yum, I'm assuming it the package manager you're using on your OS.
Whenever you install a fresh OS, it's always a good idea to update your package manager, be it apt-get or yum.
Do an update on the same (yum update -y) and if does not, you might have to compile the same from source.
You can learn more about compiling from source here: https://unix.stackexchange.com/questions/173/how-to-compile-and-install-programs-from-source
#Efren's command sudo yum install gcc -y didn't install g++ for me, and why should it?
I was able to get g++ by switching my OS from Amazon Linux 2 to Deep Learning AMI GPU PyTorch 1.12.0 (Amazon Linux 2). It comes pre-installed.
I'd like to install GDAL on an EC2 instance running Amazon Linux (which I think is based on RHEL 6). I'd like to avoid compiling from source if possible.
The version of GDAL included in the EPEL Yum repository is too old for my purposes (gdal-1.7.3-15.el6.x86_64). EPEL 7 includes gdal-1.11.4-1.el7.x86_64 which would be perfect. Is there any way I could use this repo on Amazon Linux?
So far I've also tried:
Adding GDAL from the ELGIS 6 repo (which has version 1.9.2). However this failed to install – as found / by others. The ELGIS Wiki advises people to use EPEL now anyway.
Downloading and installing the more recent GDAL RPM from EPEL 7, but it fails due to mismatches between GDAL's dependencies and the available packages in my enabled repos.
I'm not at all experienced with Amazon Linux (or Yum) so any hints much appreciated.
This worked for me.
sudo yum -y update
sudo yum-config-manager --enable epel
sudo yum -y install make automake gcc gcc-c++ libcurl-devel proj-devel geos-devel
cd /tmp
curl -L http://download.osgeo.org/gdal/2.0.0/gdal-2.0.0.tar.gz | tar zxf -
cd gdal-2.0.0/
./configure --prefix=/usr/local --without-python
make -j4
sudo make install
cd /usr/local
tar zcvf ~/gdal-2.0.0-amz1.tar.gz *
From https://gist.github.com/mojodna/2f596ca2fca48f08438e
I faced the same problem. It is quite a bit challenging to install with yum.
Required packages
Using yum, you can install GDAL's required packages:
cpp
sqlite3
libtiff
cmake3
like so:
sudo yum install cpp.x86_64 sqlite-devel.x86_64 libtiff.x86_64 cmake3.x86_64
PROJ and GDAL
These two have to be installed from source (tarball) and they also depend on the build you want.
As for me, I was able to install GDAL 3.2.1 on Amazon Linux 2. I also have not tried installing it on an Amazon Linux 1 so it may or may not differ.
Nodejs version 4 has been released and installed on my windows machine.
I'm trying to install the package trough yum on redhat but i'm not getting the latest version.
i tried: sudo yum install -y nodejs but the lastest 4.0 version is not installed.
How do i install nodejs 4.0 on a redhat machine?
NodeJS 4.X for EL7 repos located at https://rpm.nodesource.com/pub_4.x/el/7/
To install with yum change baseurl in nodesource-el.repo file to:
baseurl=https://rpm.nodesource.com/pub_4.x/el/7/$basearch
/etc/yum.repos.d/nodesource-el.repo content:
[nodesource]
name=Node.js Packages for Enterprise Linux 7 - $basearch
baseurl=https://rpm.nodesource.com/pub_4.x/el/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
[nodesource-source]
name=Node.js for Enterprise Linux 7 - $basearch - Source
baseurl=https://rpm.nodesource.com/pub_4.x/el/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
gpgcheck=1
You can compile and install from its source.
ver=4.0.0
wget -c https://nodejs.org/dist/v$ver/node-v$ver.tar.gz #This is to download the source code.
tar -xzf node-v$ver.tar.gz
cd node-v$ver
./configure && make && sudo make install
https://github.com/nodejs/node-v0.x-archive/wiki/Installation
Try npm install n -g and then n latest for downloading it with this version manager.
Edit:
The official distributions are managed by Nodesource. For RHEL the setup is supposed to be (take from the repo):
Current instructions for installing, as listed on the Node.js Wiki:
Note that the Node.js packages for EL 5 (RHEL5 and CentOS 5) depend on the EPEL repository being available. The setup script will check and provide instructions if it is not installed.
Run as root on RHEL, CentOS, CloudLinux or Fedora:
curl -sL https://rpm.nodesource.com/setup | bash -
Then install, as root:
yum install -y nodejs
But be aware that 4.0 is currently not in their rpm distribution
This was my solution and it worked:
Distrubution url: Distr: https://nodejs.org/dist/v4.2.1/node-v4.2.1.tar.gz (v4.2.1 for now)
Unpack the package (tar Jxf node-v4.2.1.tar.xz).
Some package could be too old and will cause problems during installation.
cd to the unpacked file and run ”./configure”. if the warming “C++ compiler too old, need g++ 4.8 or clang++ 3.4” is displayed you need to execute the following commands:
curl http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo > /etc/yum.repos.d/slc6-scl.repo
rpm --import http://ftp.mirrorservice.org/sites/ftp.scientificlinux.org/linux/scientific/51/i386/RPM-GPG-KEYs/RPM-GPG-KEY-cern
yum install -y devtoolset-3
And to utilize it without having to set environment variables execute this command:
scl enable devtoolset-3 bash
Now restart the process:
./configure
make
make install
You can try this solution.
First, update software repository to the latest versions:
yum -y update
Intall "Development Tools". It's a group of tools for compiling software from sources.
yum -y groupinstall "Development Tools"
Move to /usr/src directory - the usual place to hold software sources.
cd /usr/src
Now, we pick the latest compressed source archive from Node.js website at http://nodejs.org/download/.
wget http://nodejs.org/dist/v4.2.4/node-v4.2.4.tar.gz
tar zxf node-v4.2.4.tar.gz
cd node-v4.2.4
./configure
make
make install
I am trying to install Redis on EC2 but it needs gcc. When I tried gcc was not installed.
Then I tried to install gcc manually and got the following error:
configure: error: could not find a working compiler, see config.log for details
How can I solve this?
If you use a standard AMI Linux instance, you can install gcc simply by running:
sudo yum groupinstall "Development Tools"
On a SuSE instance, you can try:
sudo zypper install gcc
I copied form user7706975's answer
1 Download gcc version from gcc.parentingamerica.com/releases.
2 Compile it from Gcc Wiki for example if you want the version 4.6.2
tar xzf gcc-4.6.2.tar.gz
cd gcc-4.6.2
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.6.2/configure --prefix=$HOME/GCC-4.6.2 --enable-languages=c,c++,fortran,go
make
make install
Reference: My AWS EC2 Instance: Ubuntu 16.04