Hi David,

For good measure, I sent an e-mail to the Exodus developers.  The cmake is
calling the libraries in the correct order.

In addition, when I am using the Python API, I modified the order that the
libraries are loaded to be consistent with how they were loaded during
compilation.  I am still receiving the same error as:

OSError: ~/Programs/exodusii/lib/libexodus.so: undefined symbol: H5Tset_tag

Thank you,

Jesse

On Wed, Oct 8, 2014 at 4:45 PM, Jesse Johns <[email protected]> wrote:

> Hi David,
>
> The compilation of the netcdf is correct compared to the link you shared:
>
> "-L/home/jesse/Programs/hdf5/lib
> /home/jesse/Programs/hdf5/lib/libhdf5_hl.so
> /home/jesse/Programs/hdf5/lib/libhdf5.so"
>
> I am not use how to get the ExodusII compilation, since it uses cmake, of
> which I am fairly ignorant.  However, it would surprise me, since my
> compilation succeeds unlike in that post - it's just when I am accessing
> the shared ExodusII library.  In addition, with the cmake, there haven't
> been errors like this previously.
>
> Jesse
>
>
>
> On Wed, Oct 8, 2014 at 3:40 PM, David Brooks <[email protected]>
> wrote:
>
>>  Hmm, the post at
>> http://www.unidata.ucar.edu/mailing_lists/archives/netcdfgroup/2010/msg00389.html
>> suggests that the reason may be the link order of HDF5 libraries when
>> either libnetcdf or libexodus was built.
>>
>>
>> Regards,
>> Dave
>>
>>
>> On 9/10/14 9:00 am, Jesse Johns wrote:
>>
>>   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 
>> [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
>>
>
>
_______________________________________________
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

Reply via email to