0

当我尝试安装离线 g++-4.4 包时,它依赖于 libstdc++6-4.4-dev,当我尝试安装 libstdc++6-4.4-dev 时,它依赖于 g++-4.4。

ocpe@blrkec241972d:~/Download/g++$ sudo dpkg -i g++-4.4_4.4.3-4ubuntu5.1_amd64.deb
    (Reading database ... 45040 files and directories currently installed.)
    Preparing to replace g++-4.4 4.4.3-4ubuntu5.1 (using g++-4.4_4.4.3-4ubuntu5.1_amd64.deb) ...
    Unpacking replacement g++-4.4 ...
    dpkg: dependency problems prevent configuration of g++-4.4:
     g++-4.4 depends on libstdc++6-4.4-dev (= 4.4.3-4ubuntu5.1); however:
      Package libstdc++6-4.4-dev is not configured yet.
    dpkg: error processing g++-4.4 (--install):
     dependency problems - leaving unconfigured
    Processing triggers for man-db ...
    Errors were encountered while processing:
     g++-4.4
    ocpe@blrkec241972d:~/Download/g++$ sudo dpkg -i libstdc++6-4.4-dev_4.4.3-4ubuntu5.1_amd64.deb
    (Reading database ... 45040 files and directories currently installed.)
    Preparing to replace libstdc++6-4.4-dev 4.4.3-4ubuntu5.1 (using libstdc++6-4.4-dev_4.4.3-4ubuntu5.1_amd64.deb) ...
    Unpacking replacement libstdc++6-4.4-dev ...
    dpkg: dependency problems prevent configuration of libstdc++6-4.4-dev:
     libstdc++6-4.4-dev depends on g++-4.4 (= 4.4.3-4ubuntu5.1); however:
      Package g++-4.4 is not configured yet.
    dpkg: error processing libstdc++6-4.4-dev (--install):
     dependency problems - leaving unconfigured
    Errors were encountered while processing:
     libstdc++6-4.4-dev
4

3 回答 3

1

尝试同时安装它们:

sudo dpkg -i ./*.deb
于 2012-08-14T05:52:48.740 回答
0

这在某些情况下可能有效,但我最近在 Linux Mint 13 中遇到了同样的问题。建议的命令 (sudo dpkg -i ./.deb) 将临时安装此类软件包,但它们仍将被注册为“损坏” (即在这些冲突得到解决之前,您不得使用甚至修改您的包)。解决这些问题的唯一方法是通过包管理器。目前没有其他办法。

有趣的是,我在尝试用正常工作的驱动程序替换以太网适配器的故障驱动程序时发现了这些无意义的依赖关系。事实证明,大多数 Linux 发行版都没有附带开发工具(因此您不能只在离线模式下“进行安装”)。但是由于草率的开发人员政策[循环依赖、自依赖、dpkg 在这些情况下不起作用],无法离线安装软件包,因此某些 Linux 版本可能会在某些平台上永久损坏(如果互联网连接不起作用)。

建议?我建议向开发者论坛发送垃圾邮件,向程序员请求严格的依赖策略:在对其运行自动依赖检查之前,任何模块都不应该向公众发布(以避免自我依赖,这很蹩脚)。在循环依赖的情况下(即 a 依赖于 b,b 依赖于 c,c 依赖于 a),模块应该在发布之前被合并到一个单独的模块中。该文件将变得多大并不重要。没有什么比看似模块化的系统更糟糕的了,但实际上这些模块产生的问题比它们解决的问题还要多。在这种情况下,非模块化“块”策略应该是必须的。

外面的世界很复杂……只有人才能让它变得更复杂……

于 2013-01-04T21:28:51.570 回答
0

我愿意: sudo dpkg -i g++-4.4_4.4.3-4ubuntu5.1_i386.deb libstdc++6-4.4-dev_4.4.3-4ubuntu5.1_i386.deb

很高兴我没有将包加载到: http ://packages.ubuntu.com/lucid/i386/g++-4.4/download http://packages.ubuntu.com/lucid/i386/libstdc++6-4.4-dev/ 下载

于 2013-05-09T12:46:45.080 回答