Используя python 2.6, я пытаюсь создать RPM для модуля расширения python C.Относительные включают пути при создании RPM для расширения python с использованием distutils
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
файл не найден в заголовочном пути.
Любые предложения или обходные пути для этого?
На данный момент * distutils * от Python 2.7 по-прежнему страдает этой проблемой. – firegurafiku