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. <[email protected]> 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 <[email protected]>
> Reply-To: HDF Users Discussion List <[email protected]>
> Date: Wednesday, October 8, 2014 10:54 AM
> To: "[email protected]" <[email protected]>
> 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.
> [email protected]
>
> 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.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5