在Mac OS X 10.6.3中安装h5py

时间:2010-05-19 22:04:54

标签: python macos hdf5 h5py

我正在尝试在Mac OS X 10.6.3中安装h5py。

首先我安装了HDF5 1.8,它使用了以下命令:

./configure \
--prefix=/Library/Frameworks/Python.framework/Versions/Current \
--enable-shared \
--enable-production \
--enable-threadsafe \
CPPFLAGS=-I/Library/Frameworks/Python.framework/Versions/Current/include \
LDFLAGS=-L/Library/Frameworks/Python.framework/Versions/Current/lib

make
make check
sudo make install

然后安装h5py:

/Library/Frameworks/Python.framework/Versions/Current/bin/python \
setup.py \
build \
--api=18 \
--hdf5=/Library/Frameworks/Python.framework/Versions/Current

然后我得到了错误:

******************************************
Configure: Autodetecting HDF5 settings...
    Custom HDF5 dir:       /Library/Frameworks/Python.framework/Versions/Current
    Custom API level:      (1, 8)
ld: warning: in detect/vers.o, file was built for unsupported file format which is not the architecture being linked (i386)

ld: warning: in /Library/Frameworks/Python.framework/Versions/Current/lib/libhdf5.dylib, file was built for unsupported file format which is not the architecture being linked (i386)

Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o

ld: symbol(s) not found

collect2: ld returned 1 exit status

Failed to compile HDF5 test program.  Please check to make sure:

* You have a C compiler installed
* A development version of Python is installed (including header files)
* A development version of HDF5 is installed (including header files)
* If HDF5 is not in a default location, supply the argument --hdf5=<path>
******************************************
error: command 'cc' failed with exit status 1

我刚刚更新了我的Xcode,我不知道这是不是因为我的gcc的默认设置。如果是这样,我怎么能摆脱这个错误?

感谢。

2 个答案:

答案 0 :(得分:1)

我尝试使用Intel C / C ++编译器在Mac OS X上构建Python扩展模块时遇到了类似的错误。要修复“未定义的符号:_main”错误,我必须将以下内容添加到链接器命令:-bundle -undefined dynamic_lookup

你可以做一个'man ld'来找出特定链接器命令的作用,但基本上你告诉链接器不要担心未定义的符号,并在加载库时动态查找它们。

答案 1 :(得分:0)

如果您使用macport,请尝试:py26-h5py