[Nexus] Problems installing NeXus on Linux
Pete R. Jemian
prjemian at gmail.com
Tue Aug 11 20:30:11 BST 2009
I followed Mark's path, but on my Ubuntu 8.04LTS system.
(downloaded the nexus rpm, converted it to a .deb using "alien" and installed it)
and also installed the required libmxml package.
nxbrowse TOFRAW.nxs
indicated the same "could not find libhdf5.so.0" error.
[prjemian at morel,3016,test]$ nxbrowse TOFRAW.nxs
nxbrowse: error while loading shared libraries: libhdf5.so.0: cannot open shared object file: No such file or directory
I built all the NeXus components from scratch (2009-01-28) and it works.
Only the prebuilt NeXus cannot find libhdf5.so.0.
This is sensible since that is not on my system and it did not install
with the libhdf5 on the NeXus downloads page (http://www.nexusformat.org/Download).
[prjemian at morel,3008,log]$ locate libhdf5.so
/usr/local/lib/libhdf5.so
/usr/local/lib/libhdf5.so.6
/usr/local/lib/libhdf5.so.6.0.1
/usr/local/src/hdf/hdf5-1.8.2/src/.libs/libhdf5.so
/usr/local/src/hdf/hdf5-1.8.2/src/.libs/libhdf5.so.6
/usr/local/src/hdf/hdf5-1.8.2/src/.libs/libhdf5.so.6.0.1
[prjemian at morel,3009,log]$ ll /usr/local/lib/libhdf5*
-rw-r--r-- 1 root root 4.0M 2009-01-28 14:13 /usr/local/lib/libhdf5.a
-rw-r--r-- 1 root root 135K 2009-01-28 14:13 /usr/local/lib/libhdf5_hl.a
-rwxr-xr-x 1 root root 989 2009-01-28 14:13 /usr/local/lib/libhdf5_hl.la*
lrwxrwxrwx 1 root root 19 2009-01-28 14:13 /usr/local/lib/libhdf5_hl.so -> libhdf5_hl.so.0.0.0*
lrwxrwxrwx 1 root root 19 2009-01-28 14:13 /usr/local/lib/libhdf5_hl.so.0 -> libhdf5_hl.so.0.0.0*
-rwxr-xr-x 1 root root 128K 2009-01-28 14:13 /usr/local/lib/libhdf5_hl.so.0.0.0*
-rwxr-xr-x 1 root root 968 2009-01-28 14:13 /usr/local/lib/libhdf5.la*
-rw-r--r-- 1 root root 2.6K 2009-01-28 14:13 /usr/local/lib/libhdf5.settings
lrwxrwxrwx 1 root root 16 2009-01-28 14:13 /usr/local/lib/libhdf5.so -> libhdf5.so.6.0.1*
lrwxrwxrwx 1 root root 16 2009-01-28 14:13 /usr/local/lib/libhdf5.so.6 -> libhdf5.so.6.0.1*
-rwxr-xr-x 1 root root 3.0M 2009-01-28 14:13 /usr/local/lib/libhdf5.so.6.0.1*
[prjemian at morel,3017,test]$ ll /usr/lib/libhdf5*
lrwxrwxrwx 1 root root 22 2008-05-09 21:16 /usr/lib/libhdf5-1.6.5.so.0 -> libhdf5-1.6.5.so.0.0.0
-rw-r--r-- 1 root root 1.2M 2008-03-25 14:00 /usr/lib/libhdf5-1.6.5.so.0.0.0
lrwxrwxrwx 1 root root 26 2008-05-09 21:16 /usr/lib/libhdf5_cpp-1.6.5.so.0 -> libhdf5_cpp-1.6.5.so.0.0.0
-rw-r--r-- 1 root root 400K 2008-03-25 14:00 /usr/lib/libhdf5_cpp-1.6.5.so.0.0.0
lrwxrwxrwx 1 root root 25 2008-05-09 21:16 /usr/lib/libhdf5_hl-1.6.5.so.0 -> libhdf5_hl-1.6.5.so.0.0.0
-rw-r--r-- 1 root root 51K 2008-03-25 14:00 /usr/lib/libhdf5_hl-1.6.5.so.0.0.0
Mark Rivers wrote:
> Folks,
>
>
>
> I am having problems installing NeXus on Linux. I have a Fedora Core 10
> system. I followed the instructions on the NeXus site:
>
>
>
> http://www.nexusformat.org/Download#NeXus_Binary_Distributions
>
>
>
> I did the:
>
>
>
> yum install hdf hdf-devel hdf5 hdf5-devel mxml mxml-devel
>
>
>
> I then tried to install Nexus as directed but it fails:
>
>
>
> corvette:~>sudo rpm -Uhv nexus-4.1.0-0.i386.rpm
>
> [sudo] password for epics:
>
> error: Failed dependencies:
>
> libhdf5.so.0 is needed by nexus-4.1.0-0.i386
>
>
>
> It cannot find libhdf5.so.0, which indeed does not exist. These are the
> hdf5 files and links in /usr/lib.
>
>
>
> corvette:~>ls -l /usr/lib/libhdf5*
>
> -rw-r--r-- 1 root root 3434232 Jun 5 2008 /usr/lib/libhdf5.a
>
> lrwxrwxrwx 1 root root 16 Sep 4 2008 /usr/lib/libhdf5.so ->
> libhdf5.so.5.0.1
>
> lrwxrwxrwx 1 root root 16 Sep 4 2008 /usr/lib/libhdf5.so.5 ->
> libhdf5.so.5.0.1
>
> -rwxr-xr-x 1 root root 2487304 Jun 5 2008 /usr/lib/libhdf5.so.5.0.1
>
> -rw-r--r-- 1 root root 572100 Jun 5 2008 /usr/lib/libhdf5_cpp.a
>
> lrwxrwxrwx 1 root root 20 Sep 4 2008 /usr/lib/libhdf5_cpp.so ->
> libhdf5_cpp.so.0.0.0
>
> lrwxrwxrwx 1 root root 20 Sep 4 2008 /usr/lib/libhdf5_cpp.so.0 ->
> libhdf5_cpp.so.0.0.0
>
> -rwxr-xr-x 1 root root 400808 Jun 5 2008 /usr/lib/libhdf5_cpp.so.0.0.0
>
> -rw-r--r-- 1 root root 267126 Jun 5 2008 /usr/lib/libhdf5_fortran.a
>
> lrwxrwxrwx 1 root root 24 Sep 4 2008 /usr/lib/libhdf5_fortran.so
> -> libhdf5_fortran.so.0.0.0
>
> lrwxrwxrwx 1 root root 24 Sep 4 2008
> /usr/lib/libhdf5_fortran.so.0 -> libhdf5_fortran.so.0.0.0
>
> -rwxr-xr-x 1 root root 223128 Jun 5 2008
> /usr/lib/libhdf5_fortran.so.0.0.0
>
> -rw-r--r-- 1 root root 138888 Jun 5 2008 /usr/lib/libhdf5_hl.a
>
> lrwxrwxrwx 1 root root 19 Sep 4 2008 /usr/lib/libhdf5_hl.so ->
> libhdf5_hl.so.0.0.0
>
> lrwxrwxrwx 1 root root 19 Sep 4 2008 /usr/lib/libhdf5_hl.so.0 ->
> libhdf5_hl.so.0.0.0
>
> -rwxr-xr-x 1 root root 114968 Jun 5 2008 /usr/lib/libhdf5_hl.so.0.0.0
>
> -rw-r--r-- 1 root root 6454 Jun 5 2008 /usr/lib/libhdf5_hl_cpp.a
>
> lrwxrwxrwx 1 root root 23 Sep 4 2008 /usr/lib/libhdf5_hl_cpp.so
> -> libhdf5_hl_cpp.so.0.0.0
>
> lrwxrwxrwx 1 root root 23 Sep 4 2008 /usr/lib/libhdf5_hl_cpp.so.0
> -> libhdf5_hl_cpp.so.0.0.0
>
> -rwxr-xr-x 1 root root 7492 Jun 5 2008 /usr/lib/libhdf5_hl_cpp.so.0.0.0
>
> -rw-r--r-- 1 root root 56366 Jun 5 2008 /usr/lib/libhdf5hl_fortran.a
>
> lrwxrwxrwx 1 root root 26 Sep 4 2008
> /usr/lib/libhdf5hl_fortran.so -> libhdf5hl_fortran.so.0.0.0
>
> lrwxrwxrwx 1 root root 26 Sep 4 2008
> /usr/lib/libhdf5hl_fortran.so.0 -> libhdf5hl_fortran.so.0.0.0
>
> -rwxr-xr-x 1 root root 51400 Jun 5 2008
> /usr/lib/libhdf5hl_fortran.so.0.0.0
>
>
>
> So I have libhdf5.so.5.0.1 as the actual file. Making a symbolic link
> to that file from libhdf5.so.0 does not help, same rpm error as above.
>
>
>
> (I also installed hdf5-static and hdf-devel-static because I want those
> libraries too).
>
>
>
> I forced rpm to install NeXus with the –nodeps to ignore the problem.
>
>
>
> Once I do that I try to link my application, and I get a bunch of
> unresolved symbols. It looks like it could be an HDF5 version problem.
> One of the undefined symbols is H5Acreate. If I run “nm” on libNeXus.a
> I see that it has an undefined symbol H5Acreate:
>
> corvette:1-5beta/ADApp/simDetectorSrc>nm ../../lib/linux-x86/libNeXus.a
> | grep H5Acreate
>
> U H5Acreate
>
>
>
> If I run nm on libhdf5.a I see that it defines some similar symbols,
> H5Acreate1, H5Acreate2, H5Acreate_by_name, but not H5Acreate.
>
>
>
> corvette:1-5beta/ADApp/simDetectorSrc>nm /usr/lib/libhdf5.a | grep H5Acreate
>
> 00006990 T H5Acreate2
>
> 00006570 T H5Acreate_by_name
>
> 00000a90 T H5Acreate1
>
>
>
> Any idea what the problem is?
>
>
>
> Thanks,
>
> Mark
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> NeXus mailing list
> NeXus at nexusformat.org
> http://lists.nexusformat.org/mailman/listinfo/nexus
--
----------------------------------------------------------
Pete R. Jemian, Ph.D. <jemian at anl.gov>
Beam line Controls and Data Acquisition, Group Leader
Advanced Photon Source, Argonne National Laboratory
Argonne, IL 60439 630 - 252 - 3189
-----------------------------------------------------------
Education is the one thing for which people
are willing to pay yet not receive.
-----------------------------------------------------------
More information about the NeXus
mailing list