Install hdf5 1.8.15 on Ubuntu 18.04.3 LTS

Asked by aman_manu2003@yahoo.com on 2019-10-14

I need to install hdf5 1.8.15-patch1 on Ubuntu 18.04.3 LTS as a dependency to run a software. But because of my limited knowledge I am not able to do it from the source. Can some one please guide me on how to do this installation? Please note that I can not use the latest hdf5 version because of back compatibility issues. Any help will be appreciated. Thanks!

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Last query:
2019-10-14
Last reply:
2019-10-14
Manfred Hampl (m-hampl) said : #1

I do not think that this is possible with reasonable effort, because Ubuntu 18.04 contains hdf5 1.10.0-patch1 which is already a higher version.

Are you aware that hdf5 version 1.8.15-patch1 has security vulnerabilities (e.g. CVE-2016-4330/4331/4332/4333, CVE-2017-17505/17506/17508/17509, CVE-2018-11202/11203/11204/11206/11207)?

For diagnostic purposes, what is the output of the commands (to be executed in a terminal window):

uname -a
lsb_release -crid
dpkg -l | grep hdf5
apt-cache policy hdf5-tools

I know it will require some effort and there are security vulnerabilities, but I have not other option. I have to install it somehow. Here is the information you have asked for:

1. uname -a
Linux xxx-pc 4.15.0-1056-oem #65-Ubuntu SMP Thu Sep 12 20:31:55 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

2. lsb_release -crid
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic

3. dpkg -l | grep hdf5
ii hdf5-helpers 1.10.0-patch1+docs-4 amd64 Hierarchical Data Format 5 (HDF5) - Helper tools
ii libhdf5-100:amd64 1.10.0-patch1+docs-4 amd64 Hierarchical Data Format 5 (HDF5) - runtime files - serial version
ii libhdf5-cpp-100:amd64 1.10.0-patch1+docs-4 amd64 Hierarchical Data Format 5 (HDF5) - C++ libraries
ii libhdf5-dev 1.10.0-patch1+docs-4 amd64 Hierarchical Data Format 5 (HDF5) - development files - serial version
ii libhdf5-serial-dev 1.10.0-patch1+docs-4 all transitional dummy package

4. apt-cache policy hdf5-tools
hdf5-tools:
  Installed: (none)
  Candidate: 1.10.0-patch1+docs-4
  Version table:
     1.10.0-patch1+docs-4 500
        500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages

Manfred Hampl (m-hampl) said : #3

I see two potential ways for you:

1. Instead of Ubuntu 18.04 use Ubuntu 16.04 (eventually in a virtual system) with hdf5 version 1.8.16 (if that fulfills the requirements).

2. Downgrade hfd5 on Ubuntu 18.04 to version 1.8.15-patch1

For a check of option 2, what output do you receive for the command

apt --simulate remove hdf5-helpers libhdf5-100:amd64 libhdf5-cpp-100:amd64 libhdf5-dev libhdf5-serial-dev

@Manfred
Option 1 is not feasible for me because of time and resource constraints. For Option 2, here is the output:

apt --simulate remove hdf5-helpers libhdf5-100:amd64 libhdf5-cpp-100:amd64 libhdf5-dev libhdf5-serial-dev
NOTE: This is only a simulation!
      apt needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libaec-dev libaec0 libgfortran3 libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev
  libllvm6.0 libllvm7 libmotif-common libsz2 libxbae4m libxm4 libxmhtml1.1
  linux-oem-headers-4.15.0-1030 linux-oem-headers-4.15.0-1033
  linux-oem-headers-4.15.0-1034 linux-oem-headers-4.15.0-1035
  linux-oem-headers-4.15.0-1036 linux-oem-headers-4.15.0-1038
  linux-oem-headers-4.15.0-1039 linux-oem-headers-4.15.0-1043
  linux-oem-headers-4.15.0-1045 linux-oem-headers-4.15.0-1050
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  grace hdf5-helpers libhdf5-100 libhdf5-cpp-100 libhdf5-dev
  libhdf5-serial-dev libnetcdf13
0 upgraded, 0 newly installed, 7 to remove and 0 not upgraded.
Remv grace [1:5.1.25-5build1]
Remv libhdf5-serial-dev [1.10.0-patch1+docs-4]
Remv libhdf5-dev [1.10.0-patch1+docs-4]
Remv hdf5-helpers [1.10.0-patch1+docs-4]
Remv libnetcdf13 [1:4.6.0-2build1]
Remv libhdf5-cpp-100 [1.10.0-patch1+docs-4]
Remv libhdf5-100 [1.10.0-patch1+docs-4]

@Andrew
If I understand correctly, the link you gave points to an updated version 1.8.16. Isn't it?

Seems to be version 1.99 (I assume that is available)

Manfred Hampl (m-hampl) said : #7

1. Switching over to a different version seems to affect only the packages "libnetcdf13" and "grace".

2. the version number in the PPA that actionparsnip linked is "1.99.16ppa1.really.1.8.16"
Apparently this is in fact is version 1.8.16, but packages into a "fake" version (1.99) that allows "upgrading", and which will not be overwritten by the 1.10.* packages.

Try the following:
sudo add-apt-repository ppa:nrbrtx/scilab
sudo apt-get update
apt --simulate dist-upgrade

and copy/paste the Output.

1. So it should be alright to switch to older hdf version, isn't it?

2. I have to strictly install hdf5-1.8.15-patch1 version only. As this is the latest version which has been
tested with the software I want to install.

Here is the output:
apt --simulate dist-upgrade
NOTE: This is only a simulation!
      apt needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  libgfortran3 libhdf5-cpp-100 libllvm6.0 libllvm7 linux-oem-headers-4.15.0-1030 linux-oem-headers-4.15.0-1033
  linux-oem-headers-4.15.0-1034 linux-oem-headers-4.15.0-1035 linux-oem-headers-4.15.0-1036 linux-oem-headers-4.15.0-1038
  linux-oem-headers-4.15.0-1039 linux-oem-headers-4.15.0-1043 linux-oem-headers-4.15.0-1045 linux-oem-headers-4.15.0-1050
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
  libhdf5-10 libhdf5-cpp-11
The following packages will be upgraded:
  gir1.2-mutter-2 hdf5-helpers libhdf5-dev libhdf5-serial-dev libmutter-2-0 mutter mutter-common
7 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Inst mutter-common [3.28.4-0ubuntu18.04.1] (3.28.4-0ubuntu18.04.2 Ubuntu:18.04/bionic-updates [all])
Inst gir1.2-mutter-2 [3.28.4-0ubuntu18.04.1] (3.28.4-0ubuntu18.04.2 Ubuntu:18.04/bionic-updates [amd64]) []
Inst libmutter-2-0 [3.28.4-0ubuntu18.04.1] (3.28.4-0ubuntu18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Inst hdf5-helpers [1.10.0-patch1+docs-4] (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [amd64])
Inst libhdf5-10 (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [amd64])
Inst libhdf5-cpp-11 (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [amd64])
Inst libhdf5-dev [1.10.0-patch1+docs-4] (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [amd64])
Inst libhdf5-serial-dev [1.10.0-patch1+docs-4] (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [all])
Inst mutter [3.28.4-0ubuntu18.04.1] (3.28.4-0ubuntu18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf mutter-common (3.28.4-0ubuntu18.04.2 Ubuntu:18.04/bionic-updates [all])
Conf gir1.2-mutter-2 (3.28.4-0ubuntu18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf libmutter-2-0 (3.28.4-0ubuntu18.04.2 Ubuntu:18.04/bionic-updates [amd64])
Conf hdf5-helpers (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [amd64])
Conf libhdf5-10 (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [amd64])
Conf libhdf5-cpp-11 (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [amd64])
Conf libhdf5-dev (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [amd64])
Conf libhdf5-serial-dev (1.99.16ppa1.really.1.8.16 Scilab 6 builds with LibHDF5 1.8:18.04/bionic [all])
Conf mutter (3.28.4-0ubuntu18.04.2 Ubuntu:18.04/bionic-updates [amd64])

Manfred Hampl (m-hampl) said : #9

What kind of package is that, which strictly needs a certain outdated version of a package?

I suggest that you try with hdf5 "1.99.16ppa1.really.1.8.16", and only if that doesn't work at all try manually downgrading to 1.8.15-patch1

Actually it is a library for Physics simulations (ALPS). The library has been well tested by the developers with hdf5-1.8.15-patch1 and they recommend the same. So it is really crucial to use exactly the same package as they suggest. I have in fact tried 1.8.16 and higher versions but then the library does not work or works just partially. There is an older desktop which runs these libraries flawlessly but now I need to install it over a new desktop (Ubuntu 18). It will be really helpful if you can guide me how to manually downgrade to 1.8.15-patch.

Manfred Hampl (m-hampl) said : #11

If "it is really crucial to use exactly the same package as they suggest", then you have to build that version from source in accordance to their instructions.

Can you help with this problem?

Provide an answer of your own, or ask aman_manu2003@yahoo.com for more information if necessary.

To post a message you must log in.