Hello Mark:
Thank you for the advice.
There are actually a few approaches that I took. First, with the Python API that comes with the ExodusII library, there are some options to load the libraries, so I included the following:
EXODUS_PATH = findLibExoPath()
HDF_PATH = "/home/jesse/Programs/hdf5/lib"
NETCDF_SO = "/home/jesse/Programs/netcdf/lib" + "/libnetcdf.so"
EXODUS_SO = EXODUS_PATH + "libexodus.so"
HDF_SO = HDF_PATH + "/libhdf5.so"
HDF_HL_SO = HDF_PATH + "/libhdf5_hl.so"
HDF5_LIB = cdll.LoadLibrary(HDF_SO)
HDF5_HL_LIB = cdll.LoadLibrary(HDF_HL_SO)
NETCDF_LIB = cdll.LoadLibrary(NETCDF_SO)
EXODUS_LIB = cdll.LoadLibrary(EXODUS_SO)
In using the library, I get the same error. I went ahead and added an environmental variable in bashrc:
export LD_LIBRARY_PATH=/home/jesse/Programs/hdf5/lib:$LD_LIBRARY_PATH
Tried calling using API, same error (this should be equivalent to what you suggested to do).
Lastly, I just recompiled everything with the environmental variable set explicitly instead of just calling them with compiler flags. Still, I get the same error when using the API.
The traceback goes to the API when I am calling the Exodus shared library:
EXODUS_LIB = cdll.LoadLibrary(EXODUS_SO)
File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /home/jesse/Programs/exodus/lib/libexodus.so: undefined symbol: H5Tset_tag
So, I do think you're right that the HDF5 library is not being loaded correctly. There are some conflicts if I were to install the libraries in the default library paths, but it might be worth writing a module script that shuffles all that around... I'm very much open to every suggestion, however. I've been working on this for a while.
Thank you,
Jesse
On Wed, Oct 8, 2014 at 2:11 PM, Miller, Mark C. <miller86@llnl.gov > <mailto:miller86@llnl.gov>> wrote:
Your forms post indicates you downloaded and installed hdf5
yourself. And, from the looks of it you are using shared librarys
(.so files).
So, I am guessing that have compiled some executable that uses
libexodus.so and are now hitting this error when running that
executable. Is that right?
I am guessing you need to set LD_LIBRARY_PATH env. variable to
tell the loader where to find the libhdf5.so file you installed
and then built exodus against.
If you are on Linux and your app was named 'foo' and you had
installed HDF5 to /homes/gorfo/my_installs/hdf5, then try a
command like...
env LD_LIBRARY_PATH=/homes/gorfo/my_installs/hdf5/lib ./foo
and see if that (or some variation thereof) doesn't work
Mark
From: Jesse Johns <jesse.m.johns@gmail.com
<mailto:jesse.m.johns@gmail.com>>
Reply-To: HDF Users Discussion List <hdf-forum@lists.hdfgroup.org
<mailto:hdf-forum@lists.hdfgroup.org>>
Date: Wednesday, October 8, 2014 10:54 AM
To: "hdf-forum@lists.hdfgroup.org
<mailto:hdf-forum@lists.hdfgroup.org>"
<hdf-forum@lists.hdfgroup.org <mailto:hdf-forum@lists.hdfgroup.org>>
Subject: [Hdf-forum] HDF5 compilation with ExodusII
Hello,
I am having some problems with getting a compilation of the
ExodusII finite-element libraries working correctly. The
forum post that I have here:
http://forums.linuxmint.com/viewtopic.php?f=47&t=178562
Will be explain things in some detail. The main issue is the
follow error that I get:
OSError: ~/Programs/exodusii/lib/libexodus.so: undefined
symbol: H5Tset_tag
I am not sure how to progress further.
Thank you,
Jesse
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org <mailto:Hdf-forum@lists.hdfgroup.org>
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5