I'm trying to build the hdf5 library package for R (hdf5_1.6.9.tar.gz
from CRAN with a small change to make it ignore some
elements in files generated with h4toh5) on Mac OS X Leopard 10.8.6
Sever (Mac Pro)

In the past I have used the Macports hdf5 package for the libraries,
but macports http access to svn is now blocked by a corporate
firewall.

The library fails to build using the usual "R64 CMD INSTALL ...", so
to debug I extracted the files and am running configure
manually:

$ export HDF5CPPFLAGS="-arch x86_64 -I/opt/hdfgroup.org/include"  \
   HDF5LDFLAGS="-arch x86_64 -Wl,-search_paths_first
-L/opt/hdfgroup.org/lib -lhdf5_hl -lhdf5_hl -lsz -lz" \
  CC='/usr/bin/gcc-4.2 -arch x86_64 -std=c99'
$ ./configure
checking for gcc... /usr/bin/gcc-4.2 -arch x86_64 -std=c99
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc-4.2 -arch x86_64 -std=c99 accepts -g... yes
checking for /usr/bin/gcc-4.2 -arch x86_64 -std=c99 option to accept ANSI C...\
 none needed
checking for library containing inflate... no
checking for library containing H5open... no
configure: error: Can't find zlib

In config.log:

configure:2214: checking for library containing inflate
configure:2244: /usr/bin/gcc-4.2 -arch x86_64 -std=c99 -o conftest -g -O2  -ar\
ch x86_64 -I/opt/hdfgroup.org/include  -arch x86_64 -Wl,-search_paths_first -L\
/opt/hdfgroup.org/lib -lhdf5_hl -lhdf5_hl -lsz -lz   conftest.c -lm >&5
ld warning: in /opt/hdfgroup.org/lib/libsz.a, file is not of required
architecture
ld warning: in /opt/hdfgroup.org/lib/libz.a, file is not of required
architecture

Note the use of "-search-paths-first".  Without this, the system would give
"preference" to libsz.dylib before libsz.a.

I extracted the objects from libsz.a:

$ ar x ../../lib/libsz.a
$ ls
total 136
  8 __.SYMDEF SORTED    112 rice.o
  8 encoding.o            8 sz_api.o
$ file *.o
encoding.o: Mach-O object i386
rice.o:     Mach-O object i386
sz_api.o:   Mach-O object i386

so for once configure correctly diagnosed the problem.  I suspect the
library may have been tested on a system with a 64-bit libsz.dylib and
without the "-search-paths-first" incantation.


-- 
George N. White III <[email protected]>
Head of St. Margarets Bay, Nova Scotia

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to