Мне нужно libpangox-1.0-0: i386
, чтобы собрать пакет под Ubuntu 20.04LTS, но в данный момент он недоступен.
У меня в системе libpangox-1.0-0
.
32-разрядная версия доступна для 19.10 и ниже. в https://pkgs.org/download/libpangox-1.0-0 https://ubuntu.pkgs.org/19.10/ubuntu-universe-i386/libpangox-1.0-0_0.0.2-5build1_i386.deb .html
Каковы альтернативные способы получения этого?
Если я получу файл .deb
для 19.10 и запусту sudo gdebi libpangox-1.0-0_0.0.2-5build1_i386.deb
,
он просто хранит файлы, перечисленные в разделе «Файлы» на веб-странице, без каких-либо дальнейших изменений в системе, кроме регистрации пакета для dpkg
?
Могу ли я попробовать, попробуйте если это работает, а если не просто удалить пакет?
(могут быть некоторые проблемы, поскольку файлы в /usr/share/doc/libpangox-1.0-0
, даже если только документация, совместно используются 32- и 64-разрядными версиями).
Обратите внимание, что файлы в пакете являются только , поэтому
и мягкой ссылкой на него,
/usr/lib/i386-linux-gnu/libpangox-1.0.so.0
и
/usr/lib/i386-linux-gnu/libpangox-1.0.so.0.0.0
Примечание.: Я никогда не создавал что-то подобное из исходного кода.
РЕДАКТИРОВАТЬ :
Чтобы не связываться с dpkg
, в качестве первой попытки я расширил файл .deb
, и вручную скопировал so
и программную ссылку в / usr / lib / i386-linux-gnu
.
Затем
$ export LD_LIBRARY_PATH="/usr/lib/i386-linux-gnu"
$ fakeroot debian/rules binary
...
dpkg-shlibdeps: error: no dependency information found for /usr/lib/i386-linux-gnu/libpangox-1.0.so.0 (used by debian/iscan/usr/bin/iscan)
Hint: check if the library actually comes from a package.
, в результате чего я попробовал три обходных пути одновременно:
debian / rules
override_dh_shlibdeps:
(tab) dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
$ export DEB_DH_SHLIBDEPS_ARGS_ALL = - dpkg-shlibdeps-params = - ignore-missing-info
$ export DEB_BUILD_OPTIONS = nocheck
Ничто из этого не устранило вышеуказанную ошибку.
РЕДАКТИРОВАТЬ # 2 .
При попытке собрать библиотеку я получил ошибку
$ debuild -a i386
...
dpkg-deb: building package 'libpangox-1.0-dev' in '../libpangox-1.0-dev_0.0.2-5ubuntu1_i386.deb'.
dpkg-genbuildinfo
dpkg-genchanges >../pangox-compat_0.0.2-5ubuntu1_i386.changes
dpkg-genchanges: info: not including original source code in upload
dpkg-source --after-build .
dpkg-source: info: using options from pangox-compat-0.0.2/debian/source/options: --compression=xz
dpkg-buildpackage: info: binary and diff upload (original source NOT included)
debuild: fatal error at line 1062:
can't open pangox-compat_0.0.2-5ubuntu1_amd64.changes for reading: No such file or directory
Связанные:
https://linux.debian.user.narkive.com/tVuR0mKc/package-shared-library -с-приложения
https://github.com/SpiderLabs/ModSecurity-nginx/issues/16
https://www.man7.org/linux/man-pages/man1/dpkg-shlibdeps.1 .html
https: // убунт.ком / блог / оператор-на-32-битовые-i386-пакеты-для-убунту-19-10-и-20-04-LTS
Сначала вам нужно включить все репозитории deb-src (Исходный код), используя Software & Updates ( software-properties-gtk
). Затем подтвердите обновление списков пакетов или запустите sudo apt-get update
вручную.
Затем получите исходный код и скомпилируйте его для 32-битной системы с помощью команды ниже
# get build tools
sudo apt-get install devscripts gcc-i686-linux-gnu
# get build dependencies for 32-bit (i386) architecture
sudo apt-get build-dep -a i386 libpangox-1.0-0
# get source
cd ~/Downloads
apt-get source libpangox-1.0-0
cd pangox-compat-0.0.2
# compile source for i386
debuild -a i386
и, наконец, установите скомпилированные пакеты с помощью
sudo apt-get install ../libpangox-1.0-0_0.0.2-5ubuntu1_i386.deb ../libpangox-1.0-dev_0.0.2-5ubuntu1_i386.deb