之前我问过debian/规则用于在 Launchpad 中打包的 CMake 附加构建标志。问题就在这里。
现在我通过改变这一点实现了这一点debian/规则。我在本地电脑上成功了bzr builddeb -- -us -uc
。我不知道在干净的机器上到底需要包含哪些包作为构建依赖。Launchpad 构建系统中最新的错误日志是这样的:
CMake Error at /opt/qt52/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:16 (message):
Failed to find "GL" in "" with CMAKE_CXX_LIBRARY_ARCHITECTURE
"i386-linux-gnu".
Call Stack (most recent call first):
/opt/qt52/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:50 (_qt5gui_find_extra_libs)
/opt/qt52/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:143 (include)
/opt/qt52/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:88 (find_package)
/opt/qt52/lib/cmake/Qt5Svg/Qt5SvgConfig.cmake:88 (find_package)
/opt/qt52/lib/cmake/Qt5/Qt5Config.cmake:26 (find_package)
src/Sigil/CMakeLists.txt:38 (find_package)
任何想法?
编辑:
好吧,没人回答。不过幸运的是,我找到了,这libgl1-mesa-dev
就是libglu1-mesa-dev
我要找的东西。
建筑似乎进展顺利:这里
但是,稍等一下,还缺少了一些东西。
编辑2:
最终,成功搭建。这是构建日志
答案1
根据您的 Qt 5.2 版本,您将库安装到 /opt/qt52。这不是库的标准位置,因此无法找到这些库shlibdeps
(并且由于未指定 RPATH,因此可能无法在用户的计算机上运行)。相反,您应该将库安装到 /usr/lib,这是 Precise 中的标准位置。
此外,通常情况下,库包会分为三个包:一个仅包含运行时库的包(用户在应用程序中使用该库时需要的包)、一个开发包(开发人员需要的包,包括标头和开发库符号链接)和一个调试包。您当前的结构结合了运行时包和开发包,这意味着用户必须安装比必要更多的东西。您可能需要考虑拆分该包(请参阅示例 Debian 目录Debian 用于 Qt 5.2.1;请注意 -dev 包文件在 qtbase5-dev.install-common 文件中指定)。
答案2
看了最近的构建后失败您在 ppa 中获得的依赖于不精确提供的 Qt5 包(例如libqt5widgets5
)。
我建议为你自己的 ppa 添加一个新的 ppa 依赖项,ubuntu-sdk-team 稳定版苯丙胺:
https://launchpad.net/~ubuntu-sdk-team/+archive/ppa
去这一页添加它。