32-bit libsz.a and libz.a in hdf5-1.8.5-patch1-macosx64-static?

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 <aa056@chebucto.ns.ca>
Head of St. Margarets Bay, Nova Scotia

George,

Thank you for your report. Apparently binaries were not packed correctly and our binaries testing is flawed (my fault ;-(
I will repack and retest, and we will provide the new tar ball for Mac64.

Elena

···

On Nov 26, 2010, at 6:39 AM, George N. White III wrote:

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 <aa056@chebucto.ns.ca>
Head of St. Margarets Bay, Nova Scotia

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

Good afternoon,

New 1.8.5-patch1 binaries for Mac 64 have been posted at http://www.hdfgroup.org/HDF5/release/obtain5.html.

We apologize once again for the error and any inconvenience it caused. Please let us know about any problems you encounter with the distributed binaries.

Thank you!

Elena

···

On Nov 26, 2010, at 6:39 AM, George N. White III wrote:

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 <aa056@chebucto.ns.ca>
Head of St. Margarets Bay, Nova Scotia

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