无法解析 12.04 中 libpango-1.0-0 的依赖关系

Rpj*_*Rpj 5 apt dpkg vpn 12.04 pango

无法在 12.04 中解决对 libpango-1.0-0 的依赖。安装 forticlient-sslvpn 时需要这个

sudo dpkg -i forticlient-sslvpn_4.4.2312-1_amd64.deb 
Selecting previously unselected package forticlient-sslvpn.
(Reading database ... 309369 files and directories currently installed.)
Unpacking forticlient-sslvpn (from forticlient-sslvpn_4.4.2312-1_amd64.deb) ...
dpkg: dependency problems prevent configuration of forticlient-sslvpn:
 forticlient-sslvpn depends on libpango-1.0-0 (>= 1.14.0); however:
  Package libpango-1.0-0 is not installed.
dpkg: error processing forticlient-sslvpn (--install):
 dependency problems - leaving unconfigured
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Errors were encountered while processing:
 forticlient-sslvpn
Run Code Online (Sandbox Code Playgroud)

安装 libpango

sudo apt-get install libpango-1.0-0
Reading package lists... Done
Building dependency tree 
Reading state information... Done
Package libpango-1.0-0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libpango-1.0-0' has no installation candidate
Run Code Online (Sandbox Code Playgroud)

编辑1:

find /usr/lib -type f -name "libpango*"
/usr/lib/x86_64-linux-gnu/libpangoxft-1.0.so.0.3000.0
/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.3000.0
/usr/lib/x86_64-linux-gnu/libpangomm-1.4.so.1.0.30
/usr/lib/x86_64-linux-gnu/pango/1.6.0/module-files.d/libpango1.0-0.modules
/usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.3000.0
/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.3000.0
/usr/lib/x86_64-linux-gnu/libpangox-1.0.so.0.3000.0
/usr/lib/i386-linux-gnu/libpangoxft-1.0.so.0.3000.0
/usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0.3000.0
/usr/lib/i386-linux-gnu/pango/1.6.0/module-files.d/libpango1.0-0.modules
/usr/lib/i386-linux-gnu/libpango-1.0.so.0.3000.0
/usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0.3000.0
/usr/lib/i386-linux-gnu/libpangox-1.0.so.0.3000.0
Run Code Online (Sandbox Code Playgroud)

Anw*_*war 7

您下载的 deb 文件来自https://hadler.me/linux/forticlient-sslvpn-deb-packages/。那里的软件包维护人员试图构建 .deb 文件,以便更轻松地安装带有 .tar.gz 软件包的Forticlient-SSLVPN

但我认为,包维护者错误地包含libpango-1.0-0在 15.04 之前版本的包的依赖项列表中。在最近的版本中libpango-1.0-0libpango1.0-0包,但在 12.04中没有libpango-1.0-0. 您需要为此安装libpango1.0-0

我认为(我还没有测试过)最简单的解决方案是再次解压并重新构建 deb。首先使用删除包

sudo dpkg -P forticlient-sslvpn
Run Code Online (Sandbox Code Playgroud)

然后继续执行以下步骤:

安装dpkg-dev

sudo apt-get install dpkg-dev
Run Code Online (Sandbox Code Playgroud)

制作一个目录来解压

mkdir forticlient-sslvpn
Run Code Online (Sandbox Code Playgroud)

将 deb 文件解压到其中

dpkg-deb -R forticlient-sslvpn_4.4.2312-1_amd64.deb forticlient-sslvpn/
Run Code Online (Sandbox Code Playgroud)

转到forticlient-sslvpn/DEBIAN文件夹并打开control文件。libpango-1.0-0将行中的更改Depends:libpango1.0-0。保存文件。

返回forticlient-sslvpn目录外。

使用此命令再次构建包。

 dpkg-deb -b forticlient-sslvpn
Run Code Online (Sandbox Code Playgroud)

这应该会创建一个名为 .deb 的文件forticlient-sslvpn.deb。安装它

 sudo dpkg -i forticlient-sslvpn.deb
Run Code Online (Sandbox Code Playgroud)

然后使用安装任何缺少的依赖项

 sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)

希望有帮助。


Zan*_*nna 5

包名不正确。它应该是:

sudo apt-get install libpango1.0-0
Run Code Online (Sandbox Code Playgroud)

  • @Rpj 之后执行`sudo apt-get -f install`。它应该自动解决问题 (4认同)