我的 PPA 中有 2 个包 swami-2.0.0 和 libinstpatch-1.0.0 ,第一个依赖于后者。swami-2.0.0 控制文件包含 libinstpatch-dev (>= 1.0.0) 但似乎即使在安装该软件包后也不满意,在构建日志中出现此错误:
安装后,仍然没有满足以下源码依赖: libinstpatch-dev(inst 1.0.0-0~lucid1~ppa1 ! >= 想要 1.0.0) 不满足源依赖;跳过斯瓦米
我的 1.0.0-0~lucid1~ppa1 版本名称是否有问题导致它与 1.0.0 不匹配?
这是 Swami 控制文件:
资料来源:斯瓦米 部分:声音 优先级:可选 维护者:Joshua Element Green 主页:http://swami.sourceforge.net 标准版本:3.8.3 Build-Depends: debhelper (>= 7), 获取文本, cdbs (>= 0.4.41), gnome-pkg-tools (>= 0.7), libinstpatch-dev (>= 1.0.0), libgtk2.0-dev (>= 2.8.17), libgnomecanvas2-dev (>= 2.0), librsvg2-dev (>= 2.8), libglade2-dev, libfluidsynth-dev, libfftw3-dev, gtk 文档工具, 文档-xml 构建依赖独立:libglib2.0-doc 包装:斯瓦米 架构:任何 取决于:${shlibs:Depends}, ${杂项:取决于} 说明:MIDI 乐器编辑器应用程序 Swami(采样波形和乐器)是一个应用程序 用于编辑和管理 MIDI 乐器,例如 SoundFont 文件。 还提供了一个编程 API 用于与其他集成 应用程序。 包: swami-dev 部分:libdevel 架构:任何 取决于: swami (= ${binary:Version}), ${杂项:取决于}, libinstpatch-dev (>= 1.0.0), libgtk2.0-dev (>= 2.8.17), libgnomecanvas2-dev (>= 2.0) 说明:MIDI乐器编辑器开发文件 Swami(采样波形和乐器)是一个应用程序 用于编辑和管理 MIDI 乐器,例如 SoundFont 文件。 还提供了一个编程 API 用于与其他集成 应用程序。 . 这个包包含包含文件和静态库。 包装:swami-doc 部分:文档 架构:全部 取决于:${杂项:取决于} 建议:devhelp 说明:MIDI乐器编辑器开发文档 Swami(采样波形和乐器)是一个应用程序 用于编辑和管理 MIDI 乐器,例如 SoundFont 文件。 还提供了一个编程 API 用于与其他集成 应用程序。 . 这个包包含 swami 的开发文档 /usr/share/gtk-doc/html/libswami 和 /usr/share/gtk-doc/html/libswamigui。
这是 libinstpatch 控制文件:
来源:libinstpatch 部分:声音 优先级:可选 维护者:Joshua Element Green 主页:http://swami.sourceforge.net 标准版本:3.8.3 Build-Depends: debhelper (>= 7), libglib2.0-dev (>= 2.14), libsndfile1-dev (>= 1.0.17-2), 获取文本, cdbs (>= 0.4.41), gnome-pkg-tools (>= 0.7), gtk 文档工具, 文档-xml 构建依赖独立:libglib2.0-doc 包:libinstpatch1 部分:库 架构:任何 取决于:${杂项:取决于}, ${shlibs:取决于} 说明:MIDI乐器编辑库 libInstPatch(lib Instrument Patch)是一个面向对象的编辑库 MIDI 乐器,例如 SoundFont 文件。 包:libinstpatch-dev 部分:libdevel 架构:任何 取决于:libinstpatch1 (= ${binary:Version}), ${杂项:取决于}, libglib2.0-dev (>= 2.14), libsndfile1-dev (>= 1.0.17-2) 说明:MIDI乐器编辑库开发文件 libInstPatch(lib Instrument Patch)是一个面向对象的编辑库 MIDI 乐器,例如 SoundFont 文件。 . 这个包包含包含文件和静态库。 包:libinstpatch-doc 部分:文档 架构:全部 取决于:${杂项:取决于} 建议:devhelp 说明:MIDI 乐器编辑库文档 libInstPatch(lib Instrument Patch)是一个面向对象的编辑库 MIDI 乐器,例如 SoundFont 文件。 . 这个包包含 libinstpatch1 的文档 /usr/share/gtk-doc/html/libinstpatch。
您可以使用 apt-get policy 查看可从不同来源安装的候选对象。
其次,您可以使用 dpkg 检查命名条件:
结果
1
这意味着错误,因为不匹配。如果您1.0.0-1~lucid1~ppa1
改用它,它将起作用(如果您更改了软件包,您可能还是应该使用它)。在任何情况下,比较版本功能都可以很容易地进行测试。请记住,结果 0 表示条件匹配,1 表示条件不匹配。
是的,您的版本号有些“错误”。使用
~
后缀意味着你的版本低于没有~
后缀的版本。所以:A~B < A
您可以使用 txwikinger 给您的命令行进行测试。
经常用于 PPA的原因
~
是,如果 1.0.0-0 版本进入主要的 Ubuntu 存储库,您将获得正式版本而不是 PPA 版本。您的问题的一种解决方案可能是删除版本化构建依赖项;考虑到没有较旧的软件包,应该没有问题。
另一个(也许更好?)选项可能是依赖于版本
>= 1.0.0~
,如A~ < A~B。