Сборка PPA перестала работать из-за пропавших без вести Python.h

Я пытаюсь упаковать свое приложение для Ubuntu с помощью PPA. Сборка перестала работать, потому что она не может найти Python.h (создайте журнал здесь). Этой библиотекой предоставляют libpython2.7-dev и у меня есть он в зависимостях от сборки, и согласно журналу сборки это установлено.

Создание использования dpkg-buildpackage (или просто простое использование установки make и make install) работы над моей текущей Ubuntu 14.10 чистят установку.

2
задан 8 October 2014 в 03:16

2 ответа

Вы сделали немного ошибки в Вашем debian/control файл, где Вы предположили, что python2.7 пакет обеспечивает интерпретатор. /usr/bin/python на самом деле обеспечивается python-minimal.

Вот почему следующие строки в Вашем Make-файл не работают как ожидалось в среде сборки:

PYVER := $(shell python -c "import sys; print sys.version[0:3]")
CFLAGS := -g -I/usr/include/python$(PYVER) -Wall -Werror -fPIC $(OPTFLAGS) -fno-strict-aliasing

PYVER пусто как эти python, команда не установлена в ppa sbuild.

Для решения проблемы сборки просто используйте следующий debian/control файл:

Source: python-pyblock
Section: python
Priority: optional
Maintainer: Vojtěch Trefný <vtrefny@redhat.com>
X-Python-Version: >= 2.7
Build-Depends: debhelper (>= 9), python-all-dev, gettext, libdevmapper-dev, libdmraid-dev
Standards-Version: 3.9.5
Homepage: https://git.fedorahosted.org/cgit/pyblock.git/

Package: python-pyblock
Architecture: any
Depends: python2.7, python-selinux, python-parted, ${shlibs:Depends}, ${misc:Depends}
Description: Python modules for dealing with block devices
 The pyblock contains Python modules for dealing with block devices.

Примечание, которое я только добавил python-all-dev как зависимость от сборки (оно зависит и от интерпретатора и от -dev пакеты)

4
ответ дан 6 October 2019 в 14:30

Это - чистое предположение, но Ваша команда компиляции:

gcc -g -I/usr/include/python -Wall -Werror -fPIC  -fno-strict-aliasing -DUSESELINUX=1 -c -o dm.o dm.c

Однако libpython2.7-dev файлы установки в /usr/include/python2.7, согласно список файлов .

, Возможно, необходимо рассмотреть различные флаги компиляции. Могло бы быть что-то в Вашей конфигурации системы, которая позволяет ему использовать заголовки в /usr/include/python2.7, даже при том, что Вы включаете различный каталог.

0
ответ дан 6 October 2019 в 14:30

Другие вопросы по тегам:

Похожие вопросы: