[Paraview] Paraview's HDF5 upgraded to 1.8.5

Michael Jackson mike.jackson at bluequartz.net
Wed Aug 25 10:46:28 EDT 2010


   I tested an i386/x86_64/ppc and the i386 worked (if listed first)  
and the x86_64 and the ppc binaries will fail to initialize the library.

  In discussing this issue with the HDF5 folks there are deeper issues  
than just #ifdef APPLE && SIZEOF_LONG == 8 type of stuff.

    The HDF5 1.6.x series was in even worse shape for universal  
binaries than the 1.8 is. I wouldn't trust it with my HDF5 data if it  
was built as a universal binary**.

    The newer CMake features for universal binary and are currently  
NOT being used for various reasons I am sure.

The root of the issue is the generation of the "H5init.c" file which  
is based on a single arch on OS X BUT will give different results for  
each arch. After that file is produced it is then compiled into the  
library. So without the proper modifications to how that file is  
generated and run you are setting up for very subtle failures with  
HDF5 when building on OS X with multiple archs.

This all applies to HDF5 Version 1.8 as that is the only Official HDF5  
release to "support" cmake.

** IF you build HDF5 with each arch in its own build tree then use  
"lipo" to combine them all into a universal binary then that _should_  
theoretically work. No one has actually tried to prove it yet.
___________________________________________________________
Mike Jackson                      www.bluequartz.net
Principal Software Engineer       mike.jackson at bluequartz.net
BlueQuartz Software               Dayton, Ohio



On Aug 25, 2010, at 10:36 AM, Dave Partyka wrote:

> Ahh, I don't think I was ever able to build 32bit+64bit universal  
> because of hdf5 build errors even with version 1.6. I thought you  
> meant you were building ppc;i386 and that was crashing. Testing out  
> a ppc;i386 binary right now seems to work fine.
>
> There are new CMake feature in CheckTypeSize that "should" let you  
> build 32bit+64bit binaries. It will produce #ifdef <arch> #else  
> pragmas in your configured header to define both sets of type sizes.  
> I am guessing you guys are now using that in svn HDF5?
>
> On Wed, Aug 25, 2010 at 10:06 AM, Michael Jackson <mike.jackson at bluequartz.net 
> > wrote:
>   So the basics would be if you build HDF5 with "i386;x86_64" as the  
> archs to build then use the "arch -arch [i386|x86_64] SomeProgram/ 
> That/Creates/HDF5/Files" and you should crash out pretty quickly  
> when it is trying to initialize the HDF5 library. If you build the  
> HDF5 project and one of the example hdf5 programs like "h5_group"  
> the error will happen. It is very repeatable. There is a long  
> private discussion going on currently with the HDF5 developers to  
> try and figure out a way forward.
>   I just committed some CMake code to the HDF5 SVN Cmake branch to  
> basically throw a CMake FATAL_ERROR if more than 1 OS X arch is  
> detected during the CMake process.
>
> ___________________________________________________________
> Mike Jackson                      www.bluequartz.net
> Principal Software Engineer       mike.jackson at bluequartz.net
> BlueQuartz Software               Dayton, Ohio
>
>
>
>
> On Aug 25, 2010, at 9:58 AM, Dave Partyka wrote:
>
> Hey Mike, I just did a universal build now. What specifically were  
> you doing to get the runtime errors?
>
> On Tue, Aug 24, 2010 at 2:50 PM, Michael Jackson <mike.jackson at bluequartz.net 
> > wrote:
> So can I back that back off to hdf5 version 1.6.9? There are SERIOUS  
> issues with HDF5 version 1.8 being built as a universal binary on OS  
> X. One arch will work just fine, the other will give runtime errors.  
> So for instance if someone is going to build both ppc and i386  
> binaries depending which one they list first the other will not  
> work. I can demonstrate this with the latest HDF5 1.8.5 sources.
>
>
> ___________________________________________________________
> Mike Jackson                      www.bluequartz.net
>
>
> On Aug 23, 2010, at 10:53 AM, Dave Partyka wrote:
>
> Hi All,
>
> Late last week we updated ParaView's hdf5 from 1.6.2 to 1.8.5. In  
> addition to the traditional C library we have also brought in the C+ 
> + version of the library (hdf5_cpp). The high level versions of the  
> library are also available (hdf5_hl & hdf5_hl_cpp). This should  
> provide ParaView developers a number of avenues to use the latest  
> HDF5 in their readers/writes.
>
> The HDF5 group has has started using CMake as a build system for  
> HDF5. Using the new build system John Biddiscombe and Brad King were  
> able to create a slimmed down version of HDF5 that just builds the  
> core libraries and easily integrates into ParaView. Many thanks to  
> them for their efforts!
>
> See here for the release notes for HDF5 1.8.x.
>
> http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
>
>  As always, we value feedback from the community. Feel free to  
> report any issues. In the mean time I will be monitoring the  
> dashboards.
>
> Thanks!
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview
>
>
>
>



More information about the ParaView mailing list