2010-05-19 187 views
0

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

首先我安装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的默认设置。如果是这样,我该如何摆脱这个错误?

谢谢。

回答

1

我只是碰到了类似的错误来试图建立与英特尔C/C++编译器在Mac OS X Python扩展模块。要修复“未定义的符号:_main”错误,我必须将以下内容添加到链接器命令中:-bundle -undefined dynamic_lookup

您可以执行'man ld'来查明特定的链接器命令的功能,但基本上您告诉链接器不要担心未定义的符号,并在库加载时动态查找它们。