You are not logged in.

#1 2016-09-07 13:34:08

scindix
Member
From: Germany
Registered: 2013-05-07
Posts: 48
Website

Missing shared libraries libhdf5.so.7 libmpi.so.1

Hey guys,
I want to run an executable on my Arch Linux that I'm unfortunately not able to compile from source. This executable works perfectly fine on a different machine which runs Kubuntu. (It's where I got the executable from.) I'm not sure however which packages are installed on that machine. I don't have root privileges on it.

running the program gives:

/home/[user]/path/to/executable: error while loading shared libraries: libhdf5.so.7: cannot open shared object file: No such file or directory

I have installed the packages libhdf5 from AUR and openmpi from EXTRA:

$ sudo pacman -Qi libhdf5 openmpi
Name            : libhdf5
Version         : 1.10.0-1
Description     : HDF5 - static library
Architecture    : x86_64
URL             : http://www.hdfgroup.org/HDF5/
Licenses        : custom
Groups          : None
Provides        : None
Depends On      : zlib  sh
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 9,34 MiB
Packager        : Unknown Packager
Build Date      : Mi 07 Sep 2016 15:04:50 CEST
Install Date    : Mi 07 Sep 2016 15:04:59 CEST
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : None

Name            : openmpi
Version         : 1.10.3-1
Description     : High performance message passing library (MPI)
Architecture    : x86_64
URL             : http://www.open-mpi.org
Licenses        : custom
Groups          : None
Provides        : None
Depends On      : libltdl  hwloc
Optional Deps   : gcc-fortran: fortran support [installed]
Required By     : None
Optional For    : boost-libs  valgrind
Conflicts With  : None
Replaces        : None
Installed Size  : 22,14 MiB
Packager        : Anatol Pomozov <anatol.pomozov@gmail.com>
Build Date      : Do 16 Jun 2016 18:06:10 CEST
Install Date    : Di 21 Jun 2016 12:20:53 CEST
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : SHA-256 Sum

And they installed the following libs:

$ sudo updatedb
$ locate libhdf5.so
/usr/lib/libhdf5.so
/usr/lib/libhdf5.so.100
/usr/lib/libhdf5.so.100.0.0
$ locate libmpi.so
/usr/lib/openmpi/libmpi.so
/usr/lib/openmpi/libmpi.so.12
/usr/lib/openmpi/libmpi.so.12.0.3

A call to ldd reveals:

$ ldd '/home/[user]/path/to/executable'
	linux-vdso.so.1 (0x00007fffbec67000)
	libhdf5.so.7 => not found
	libmpi_cxx.so.1 => /usr/lib/openmpi/libmpi_cxx.so.1 (0x00007fd496980000)
	libmpi.so.1 => not found
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fd4965f8000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007fd4962f4000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fd4960dd000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fd495d3f000)
	libmpi.so.12 => /usr/lib/openmpi/libmpi.so.12 (0x00007fd495a5b000)
	libopen-rte.so.12 => /usr/lib/openmpi/libopen-rte.so.12 (0x00007fd4957de000)
	libopen-pal.so.13 => /usr/lib/openmpi/libopen-pal.so.13 (0x00007fd49553a000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fd495336000)
	librt.so.1 => /usr/lib/librt.so.1 (0x00007fd49512e000)
	libutil.so.1 => /usr/lib/libutil.so.1 (0x00007fd494f2b000)
	libhwloc.so.5 => /usr/lib/libhwloc.so.5 (0x00007fd494cf0000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fd494ad3000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fd496b9b000)
	libnuma.so.1 => /usr/lib/libnuma.so.1 (0x00007fd4948c7000)
	libudev.so.1 => /usr/lib/libudev.so.1 (0x00007fd496d4e000)
	libltdl.so.7 => /usr/lib/libltdl.so.7 (0x00007fd4946bd000)
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007fd4944a6000)
	libcap.so.2 => /usr/lib/libcap.so.2 (0x00007fd4942a2000)

So I'm missing the shared libraries libhdf5.so.7 libmpi.so.1. How do I get them? I didn't find them anywhere in the repositories.

Creating symlinks doesn't work btw. Even when I create the symlink libmpi.so.1 -> libmpi.so.12.0.3 ldconfig doesn't find libmpi.so.1. (ldconfig -v | grep libmpi.so.1 returns nothing and the ldd output stays the same) both executable and library have the same target architecture (ELF64). Even if it did work I would like to have a "cleaner" solution than creating symlinks by hand.

What do you think I should do to make my executable work?

Last edited by scindix (2016-09-07 13:36:49)

Offline

#2 2016-09-07 13:50:14

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,523
Website

Re: Missing shared libraries libhdf5.so.7 libmpi.so.1

libhdf5.so.7 is an an older version which you would have on Kubuntu.  Symlinking libraries is very ill-advised, but it'd be the only option to run this in arch.  As that is failing, the answer is - quite simply - you cannot run that executable in an up-to-date arch linux system.

You need to get an updated version from the vendor, or you need to run a virtual machine or container with older libs.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2016-09-07 14:49:48

Alad
Wiki Admin/IRC Op
From: Bagelstan
Registered: 2014-05-04
Posts: 2,412
Website

Re: Missing shared libraries libhdf5.so.7 libmpi.so.1

Create a PKGBUILD with the version providing the old .so, and set pkgname accordingly. e.g, "libhdf57" and "openmpi1". If those packages contain files other than the needed libraries, don't build them or remove them in the package() function. There's a few "compat" packages in the repos and AUR which do similar things.

Last edited by Alad (2016-09-07 14:49:57)


Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby

Offline

#4 2016-09-07 19:01:50

mrunion
Member
From: Jonesborough, TN
Registered: 2007-01-26
Posts: 1,938
Website

Re: Missing shared libraries libhdf5.so.7 libmpi.so.1

What is the executable? I mean, is it a purchased app that you cannot get the source code for, or something that is no longer available? Maybe we can help find an updated package if we know what you are trying to run?


Matt

"It is very difficult to educate the educated."

Offline

#5 2016-09-27 21:55:05

scindix
Member
From: Germany
Registered: 2013-05-07
Posts: 48
Website

Re: Missing shared libraries libhdf5.so.7 libmpi.so.1

Sorry for not answering in a while. Had much to do lately.

@mrunion It's something a colleague wrote. He isn't at the institute that I'm currently working in anymore. The source code I got is probably an old one as it compiles without error, but generates complete rubbish data. (It's a simulation)

As I said it works perfectly on the institute's Kubuntu machines. And I asked myself if I could run this on my laptop which would be extremely helpful.

I guess I'll try what Alad suggested.

Offline

Board footer

Powered by FluxBB