[Hdf-forum] Cross compile HDF5 for iPhone

Michael Jackson mike.jackson at bluequartz.net
Tue Jan 12 08:27:49 EST 2010


So, how to boot-strap this is to somehow execute the H5detect program  
_on_ the iphone and save the output to H5init.c, which can then be put  
back into the source location on the host computer and the compilation  
can continue. SAVE that file. You will need it each time you run Make.  
In fact you will probably just need to disable that part of the build  
system where H5init.c is created.

  If you get it working, please post (or email me offlist) the  
generated file.
_________________________________________________________
Mike Jackson                  mike.jackson at bluequartz.net
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio

On Jan 12, 2010, at 8:04 AM, Eric Reid wrote:

> Hello all,
>
> I'm fairly new with HDF5, and we are experimenting with using it for  
> some of our products with large datasets. I've got it up and running  
> inside our applications on Mac OS X and linux. The next step is to  
> see if we can get it running on an iPhone app. The host system is OS  
> X 10.6.2. So far I've been unsuccessful.
>
> I had to strip some of the tests from the "configure.in" file, as  
> they didn't allow for cross compiling. After doing that, I  
> successfully got ./configure to run with the following command:
>
> ./configure --prefix=/usr/local/iphone --enable-cxx=yes --host=arm- 
> apple-darwin  CC=/Developer/Platforms/iPhoneOS.platform/Developer/ 
> usr/bin/arm-apple-darwin9-gcc-4.0.1 CFLAGS="-arch armv6 -pipe - 
> std=c99 -O3 -miphoneos-version-min=2.0 -gdwarf-2 -mthumb -isysroot / 
> Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ 
> iPhoneOS3.0.sdk" CXXFLAGS="-arch armv6 -pipe -O3 -miphoneos-version- 
> min=2.0 -gdwarf-2 -mthumb -isysroot /Developer/Platforms/ 
> iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk" CPP=/Developer/ 
> Platforms/iPhoneOS.platform/Developer/usr/bin/cpp AR=/Developer/ 
> Platforms/iPhoneOS.platform/Developer/usr/bin/ar
>
> make starts working fine until I get to the point where it is trying  
> to create H5Tinit.c. It is trying to run H5detect, which I presume  
> was built for the armv6, and I get the following error:
>
> LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo  |                  \
>         sed -e 's/-L/:/g' -e 's/ // 
> g'`"                               \
>      ./H5detect > H5Tinit.c  ||                               \
>         (test $HDF5_Make_Ignore && echo "*** Error ignored")  
> ||          \
>         (rm -f H5Tinit.c ; exit 1)
> /bin/sh: ./H5detect: Bad CPU type in executable
> make[2]: *** [H5Tinit.c] Error 1
> make[1]: *** [all] Error 2
> make: *** [all-recursive] Error 1
>
> The H5Tinit.c looks to be rather complicated, and not something that  
> I'd want to try to recreate by hand. Can anyone point me in the  
> right direction?
>
> Thanks!
>
> Eric
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> Hdf-forum at hdfgroup.org
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org




More information about the Hdf-forum mailing list