dpkg-shlibdeps не может найти ошибки информации библиотеки или зависимости - PullRequest
0 голосов
/ 15 января 2020

У меня ошибка при создании пакета debian с помощью dh-virtualenv. Ниже приведено содержимое файла debian / control:

Source: my-software
Section: utils
Priority: extra
Maintainer: Teddy <email@example.com>
Build-Depends: debhelper (>= 9), python3.7, python-setuptools, dh-virtualenv (>= 0.8), libavutil-dev, libavcodec-dev, qt5-default, gfortran
Standards-Version: 3.9.5

Package: my-software
Architecture: any
Pre-Depends: dpkg (>= 1.16.1),  python3.7, ${misc:Pre-Depends}
Depends: make, ${misc:Depends}
Description: Very cool program

И для debian / rules:

#!/usr/bin/make -f

%:
        dh $@ --with python-virtualenv

override_dh_virtualenv:
        dh_virtualenv --python /usr/bin/python3.7 --setuptools

Когда я запускаю dpkg-buildpackage -b -us -uc, появляется следующая ошибка, хотя у меня попытался объявить библиотеки в файле debian / control:

dpkg-shlibdeps: error: cannot find library libQt5WaylandCompositor.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/libdmabuf-server.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/../../lib')
dpkg-shlibdeps: error: cannot find library libQt5MultimediaQuick.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/qml/QtMultimedia/libdeclarative_multimedia.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/qml/QtMultimedia/../../lib')
dpkg-shlibdeps: error: cannot find library libgfortran-ed201abd.so.3.0.0 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/scipy/.libs/libopenblasp-r0-39a31c03.2.18.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '')
dpkg-shlibdeps: error: cannot find library libQt5WebView.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/webview/libqtwebview_webengine.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/webview/../../lib')
dpkg-shlibdeps: error: cannot find library libz-a147dcb0.so.1.2.3 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/cv2/.libs/libcrypto-d3d32d0c.so.1.1 (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '')
dpkg-shlibdeps: warning: can't extract name and version from library name 'libforestprotos.so'
dpkg-shlibdeps: warning: can't extract name and version from library name 'libforestprotos.so'
dpkg-shlibdeps: warning: can't extract name and version from library name 'libforestprotos.so'
dpkg-shlibdeps: warning: can't extract name and version from library name 'libforestprotos.so'
dpkg-shlibdeps: error: cannot find library libQt5WaylandCompositor.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/libxcomposite-glx.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/../../lib')
dpkg-shlibdeps: warning: debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/tensorflow/lite/python/interpreter_wrapper/_tensorflow_wrap_interpreter_wrapper.so contains an unresolvable reference to symbol PyExc_ZeroDivisionError: it's probably a plugin
dpkg-shlibdeps: warning: 68 other similar warnings have been skipped (use -v to see them all)
dpkg-shlibdeps: error: cannot find library libQt5WaylandCompositor.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/libdrm-egl-server.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/../../lib')
dpkg-shlibdeps: error: cannot find library libQt5WaylandCompositor.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/libshm-emulation-server.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/../../lib')
dpkg-shlibdeps: error: cannot find library libQt53DExtras.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/libassimpsceneimport.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/../../lib')
dpkg-shlibdeps: error: cannot find library libQt53DAnimation.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/libassimpsceneimport.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/../../lib')
dpkg-shlibdeps: error: cannot find library libQt53DRender.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/libassimpsceneimport.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/../../lib')
dpkg-shlibdeps: error: cannot find library libQt53DInput.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/libassimpsceneimport.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/../../lib')
dpkg-shlibdeps: error: cannot find library libQt53DLogic.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/libassimpsceneimport.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/../../lib')
dpkg-shlibdeps: error: cannot find library libQt53DCore.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/libassimpsceneimport.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/../../lib')
dpkg-shlibdeps: error: cannot find library libQt5Gamepad.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/libassimpsceneimport.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/sceneparsers/../../lib')
dpkg-shlibdeps: error: cannot find library libQt5WaylandCompositor.so.5 needed by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/libwayland-eglstream-controller.so (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/wayland-graphics-integration-server/../../lib')
dpkg-shlibdeps: error: no dependency information found for /usr/lib/x86_64-linux-gnu/libQt5EglFSDeviceIntegration.so.5 (used by debian/my-software/opt/venvs/my-software/lib/python3.7/site-packages/PyQt5/Qt/plugins/egldeviceintegrations/libqeglfs-emu-integration.so)

Еще одна проблема заключается в том, что сохраняется только последняя ошибка, а другие ошибки иногда не отображаются при повторном запуске команды. Пожалуйста помогите.


Я обновил debin/rules файл, как показано ниже:

#!/usr/bin/make -f

%:
    dh $@ --python /usr/bin/python3.7 --with python-virtualenv

override_dh_virtualenv:
    dh_virtualenv --python /usr/bin/python3.7 --setuptools

override_dh_shlibdeps:
    dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info --exclude=numpy --exclude=scipy --exclude=cv2 --exclude=matplotlib --exclude=Qt

Пакет собирается нормально, но при запуске приложения появляется следующая ошибка:

Traceback (most recent call last):
.
.
.
      File "/home/user/Desktop/my_software/lib/python3.7/site-packages/cv2/__init__.py", line 3, in <module>
        from .cv2 import *
    ImportError: /home/user/Desktop/my_software/lib/python3.7/site-packages/cv2/cv2.cpython-37m-x86_64-linux-gnu.so: ELF load command address/offset not properly aligned

Это основной вопрос на данный момент.

1 Ответ

0 голосов
/ 17 января 2020

Как указано здесь: https://github.com/spotify/dh-virtualenv/issues/273#issuecomment -467899966 ,

Я обновил свой контрольный файл, чтобы он выглядел, как показано ниже, и сценарий ввода запустился без ошибок.

#!/usr/bin/make -f

export DH_VIRTUALENV_INSTALL_ROOT=/opt/venvs
EXTRA_REQUIREMENTS=--upgrade-pip --preinstall "setuptools>=17.1" --preinstall "wheel" \
    --preinstall "Cython==0.29.11" --extras=default

PACKAGE=$(shell dh_listpackages)

DH_VENV_ARGS=--setuptools --python /usr/bin/python3.7 $(EXTRA_REQUIREMENTS)

DH_VENV_DIR=debian/$(PACKAGE)$(DH_VIRTUALENV_INSTALL_ROOT)/$(PACKAGE)

%:
    dh $@ --with python-virtualenv

override_dh_virtualenv:
    dh_virtualenv $(DH_VENV_ARGS)

override_dh_strip:
    dh_strip --exclude=cv2

override_dh_shlibdeps:
    dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -X/numpy/ -X/scipy/ -X/cv2/ -X/matplotlib/ -X/Qt/
...