help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem in 3.6.2 on SL6 with hdf5


From: Michael Martins
Subject: Re: Problem in 3.6.2 on SL6 with hdf5
Date: Mon, 06 Aug 2012 17:54:18 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120713 Thunderbird/14.0

I have solved the problem by installing the rpm (v 1.8.9) for centos6 directly from the hdf web site on my SL6. This works nicely

Thanks for all the help
Michael


On Thu, Jul 26, 2012 at 3:37 AM, Michael Martins <address@hidden> wrote:
Dear all

I have a problem linking 3.6.2 on Scientific Linux 6 (SLD6, 64 bit) with the hdf5 library. configure finds all libaries including hdf5 and compling is now problem. However in the linking process I am getting the following errors

./.libs/liboctinterp.so: undefined reference to `H5Eset_auto2'
./.libs/liboctinterp.so: undefined reference to `H5Gcreate2'
./.libs/liboctinterp.so: undefined reference to `H5Dopen2'
./.libs/liboctinterp.so: undefined reference to `H5Gopen2'
./.libs/liboctinterp.so: undefined reference to `H5Dcreate2'
./.libs/liboctinterp.so: undefined reference to `H5Eget_auto2'
./.libs/liboctinterp.so: undefined reference to `H5Acreate2'

This is somehow strange, because H5Eset_auto2 is not found in any part of the octave sources. Only H5Eset_auto exists, e.g. in
src/ls-hdf5.cc:  H5Eset_auto (H5E_DEFAULT, 0, 0);

Can anybody help here?

All the best
Michael
_______________________________________________
Help-octave mailing list
address@hidden
https://mailman.cae.wisc.edu/listinfo/help-octave

Michael,
H5Eset_auto is a macro which calls either H5Eset_auto1 or H5Eset_auto2.
In your case since HAVE_HDF5_18 is defined it should call H5Eset_auto2 which
appears to be missing from your hdf5 lib. Could you try typing

 nm /usr/lib/libhdf5.so | grep set_auto

and you should see something like:

00000000000ec053 T H5E_set_auto
00000000000eabcc T H5Eset_auto1
00000000000e8e6a T H5Eset_auto2

note that H5E_set_auto is defined but this is a private function - the macro is what
determines which is called.
--
Ed Meyer


reply via email to

[Prev in Thread] Current Thread [Next in Thread]