【问题标题】:Building Debian binary packages with netbeans 6.91使用 netbeans 6.91 构建 Debian 二进制包
【发布时间】:2011-03-29 12:03:09
【问题描述】:

我正在使用 netbeans 在 Ubuntu 10.0.4 上构建一组 Debian 二进制包

我使用的是 64 位操作系统,但默认架构是“x386”,当我尝试在另一台 64 位机器上安装软件包时,会导致以下错误:

错误:错误的架构“i386”

我的第一个问题是:

问题 1。

我应该使用什么字符串来表明所需的体系结构适用于 64 位 Intel 机器?

我的第二个问题涉及包之间的依赖关系:

我有三个 (C/C++) 项目:

  • foobar
  • foofoobar

foobar 依赖于 foo(一个共享库),同样 foofoobar(一个应用程序)依赖于 foobar(另一个共享库)。

问题 2

我在部署方面的问题是:

我是否要为 foofoobar 创建一个 Debian 软件包,然后简单地将在 foo 和 foobar 中创建的共享库添加到 foofoobar 的 Debian 软件包中?

问题 3

最后但并非最不重要的一点是, foo 和 foobar 都具有第三方依赖项(例如 BOOST 共享库)。常识告诉我,我需要将 foo、foobar 和 foobar 所需的所有共享库文件添加到 foofoobar Debian 包中 - 以便创建一个可以成功部署到另一台没有所需库的机器的独立包.

我对外部库依赖项的理解是否正确?

【问题讨论】:

  • 关于问题 1,我刚刚检查了系统上的一些二进制包,使用的字符串似乎是 amd64 - 不过,如果这是一个有效的假设,我想确认一下我的随意观察......

标签: c++ netbeans ubuntu debian packaging


【解决方案1】:

1.) 表示基于 64 位 X86 架构的字符串是:amd64

2.) 取决于您的项目结构。您可以根据需要添加任意数量的文件。但是,将不同的程序保存在不同的包中通常是有意义的。

3.) 是的,如果您想立即部署您的程序,您必须直接包含所有依赖项。确保不要在可能已经填充了您想要在某些机器上 dd 的文件的目录中进行规划,否则,如果没有 --force,您将无法安装该软件包。更常见的是:定义一些包,您的程序需要作为包的依赖项,包管理器将一劳永逸地解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 2016-08-04
    • 2021-10-11
    • 2013-02-11
    • 2017-08-30
    • 2011-06-24
    • 1970-01-01
    相关资源
    最近更新 更多