Ubuntu 的 libpangox-1.0.so.0:i386

Ubuntu 的 libpangox-1.0.so.0:i386

我需要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

  1. 还有什么其他方法可以获得该功能?

  2. 如果我获取.deb19.10 的文件并运行sudo gdebi libpangox-1.0-0_0.0.2-5build1_i386.deb它是否只是存储网页中“文件”下列出的文件,除了注册包之外,不对系统进行任何进一步的更改dpkg

    我可以尝试一下,看看它是否有效,如果不行的话,只需删除包吗? (可能存在一些问题,因为 下的文件/usr/share/doc/libpangox-1.0-0(即使只有文档)在 32 位和 64 位版本之间是共享的)。请注意,包中的文件只有so和指向它的软链接, /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.

这导致我同时尝试了三种解决方法:

  1. 添加到debian/rules
    override_dh_shlibdeps:
    (tab)   dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
  1. $ export DEB_DH_SHLIBDEPS_ARGS_ALL=--dpkg-shlibdeps-params=--ignore-missing-info

  2. $ 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://stackoverflow.com/questions/11238134/dpkg-shlibdeps-error-no-dependency-information-found-for

https://linux.debian.user.narkive.com/tVuR0mKc/package-shared-library-with-application

https://github.com/SpiderLabs/ModSecurity-nginx/issues/16

https://www.man7.org/linux/man-pages/man1/dpkg-shlibdeps.1.html

https://ubuntu.com/blog/statement-on-32-bit-i386-packages-for-ubuntu-19-10-and-20-04-lts

答案1

我在 Ubuntu 21.04 上也遇到了缺少 libpangox-1.0.so.0 的问题。

我可以通过执行此命令创建到 pangoxft 模块的软链接来解决此问题,从而使其正常工作。

sudo ln -s /usr/lib/x86_64-linux-gnu/libpangoxft-1.0.so.0 /usr/lib/x86_64-linux-gnu/libpangox-1.0.so.0

希望这可以帮助。

答案2

首先你需要启用所有deb-源文件(源代码)存储库使用软件与更新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

相关内容