使用 python 2.6,我正在尝试为 python C 扩展模块构建一个 RPM。
setup.py
我正在使用的包含以下内容:
from distutils.core import setup, Extension
foo_ext = Extension('foo',
sources=['foo.c', '../src/common.c'],
include_dirs=['../includes'])
setup(... , ext_modules=[foo_ext])
例如,如果我运行它python setup.py build
,它编译和构建没有任何错误,并使用正确的路径调用,即:/devel/foo
gcc
gcc ... -I/devel/includes ...
当我python setup.py bdist_rpm
改为使用时,上面使用的相对路径将转换为相对于 RPM 构建目录的绝对路径,这导致gcc
尝试使用以下命令进行编译:
gcc ... -I/devel/foo/build/bdist.linux-x86_64/rpm/BUILD/includes ...
然后编译失败,因为.h
在包含路径中找不到所需的文件。
对此有任何建议或解决方法吗?