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 [email protected]
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 <[email protected]
> 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 [email protected]
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 <[email protected]
> 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
_______________________________________________
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