7

I'm trying to install the HDF5 compression libraries with the Intel Compilers suite (Intel Parallel Studio XE 2018.2.046).

With the same suite I've compiled both szip and zlib and I'm proceeding to configure HDF with the command:

./configure --prefix=/home/modelstation/Software/Intel_Compiled/hdf5 --enable-fortran --enable-cxx --with-szip=/home/modelstation/Software/Intel_Compiled/szip --with-zlib=/home/modelstation/Software/Intel_Compiled/zlib

Configuration stops with the error:

checking size of size_t... configure: error: in `/home/modelstation/Downloads/hdf5-1.10.2': configure: error: cannot compute sizeof (size_t)

Following this solution on the Intel Developer forum it seems that it should be possible to circumvent this error (which is apparently due to a conflict between HDF5 configure scripts and the new shiny Ubuntu version) by downgrading the GNU compiler suite used in autotools with the commands:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-6

But that command produces the following error:

update-alternatives: error: alternative path /usr/bin/gcc-6 doesn't exist

I thought that the mistake was that I had to actually install some previous version of the packages before updating alternatives, therefore I tried:

sudo apt-get install gcc-4.6

But the result is:

Package gcc-4.6 is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: cpp-4.8 cpp-4.8:i386 E: Package 'gcc-4.6' has no installation candidate

So is it possible under ubuntu 18.04 to downgrade gcc g++ and gfortran to version 4.6 or not?

If the answer is "no" I will have to format everything and install Ubuntu 16.04, in which none of these issues existed.

Thanks

7
  • You can't downgrade easily. Downgrading would also downgrade all your libraries and break 18.04.
    – Thomas Ward
    May 24, 2018 at 14:27
  • But isn't exactly update-alternatives aim? Or am I wrong?
    – Mutewinter
    May 24, 2018 at 14:29
  • 3
    gcc-6? gcc-4.6? Which is it?
    – muru
    May 24, 2018 at 14:42
  • 1
    »» alternative path /usr/bin/gcc-6 doesn't exist «« : sudo apt install g++-6 May 24, 2018 at 15:23
  • 1
    You probably don't even need to mess with update-alternatives - just set CC=/usr/bin/gcc-6 (or whatever) in the ./configure command. May 24, 2018 at 15:25

3 Answers 3

3

update-alternatives gives you the convenience of switching between different installed gcc versions. Downgrading the system gcc is almost never needed, and is generally harmful.

The error /usr/bin/gcc-6 doesn't exist from update-alternatives suggests that gcc-6 is not installed, so all you need is to install the following packages (which are found in the default 18.04 repository, bionic/universe):

sudo apt-get install gcc-6 g++-6 g++-6-multilib gfortran-6

Then, repeat the sudo update-alternatives --install step for each gcc version you wish to use.

Whenever you want to change back gcc to point to the default version shipped with Bionic, 7.3, simply run sudo update-alternatives --config gcc, which will let you pick between the available gcc versions with installed alternatives.

Also, you can always run a specific gcc version directly, by specifying the version suffix (gcc-6, gcc-7, etc).

3
  • 1
    update-alternatives --config gcc update-alternatives: error: no alternatives for gcc
    – Jiang YD
    Aug 20, 2018 at 6:08
  • @JiangYD The alternatives need to be installed first, using the sudo update-alternatives --install step described in the question, and repeated for each gcc version - I edited my answer hoping to clarify
    – valiano
    Aug 21, 2018 at 9:38
  • valiano yes, thnaks.
    – Jiang YD
    Aug 24, 2018 at 14:53
1
sudo apt-get install gcc-6 g++-6 g++-6-multilib gfortran-6

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6

sudo update-alternatives --config gcc
-1

Here are the instructions from this gist on how to downgrade gcc.

Ubuntu 18.04 downgrade the gcc version to version 5.5

First check your own gcc version, the default is 7.3 on Ubuntu18.04

$ gcc --version
gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
  1. Download gcc/g++ 5
sudo apt-get install -y gcc-5
sudo apt-get install -y g++-5
  1. Link gcc/g++ to downgrade
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-5 gcc
sudo rm g++
sudo ln -s g++-5 g++

Check the gcc version again and you can see that it has been downgraded.

$ gcc --version
gcc (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010

To revert this action

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-7 gcc
sudo rm g++
sudo ln -s g++-7 g++

You can always upgrade to latest version if you change your mind.

1
  • Keep in mind this may break your system - you have to be very careful when doing this.
    – Thomas Ward
    Jun 4, 2021 at 14:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.