[CMake] How to package for Debian with Qt dependencies

Andreas Mohr andi at lisas.de
Tue Apr 10 08:13:26 EDT 2012


Hi,

On Tue, Apr 10, 2012 at 07:01:26AM -0400, cmake-request at cmake.org wrote:
> Date: Tue, 10 Apr 2012 13:01:23 +0200
> From: Carlo Nicolini <carlo.nicolini at iit.it>
> Subject: [CMake] How to package for Debian with Qt dependencies
> To: cmake at cmake.org
> Message-ID:
> 	<CABdBrHO-CXqMMMgAMnBgkv03Vq5J7+gCjvUfD2emrkR3Ecze7g at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> I've started a Qt project with CMake and until now is very successfull but
> I'm wondering how to package my program for use with debian with the
> correct dependencies



> The debian package is created correctly but once in a clean test virtual
> machine, I try to run it, the dpkg installer complains saying that *
> freeglut3* dependencies are not satisfiable*.*
> *Dependency is not satisfiable: freeglut3*
> 
> This is what I get after a dpkg --info
> 
> Package: FooBar
>  Version: 0.1.1
>  Section: devel
>  Priority: optional
>  Architecture: i386
>  Depends: freeglut3, libc6 (>= 2.3.6-6~), libc6 (>= 2.4), libgcc1 (>=
> 1:4.1.1), libgl1-mesa-glx | libgl1, libglu1-mesa | libglu1, libgomp1 (>=
> 4.2.1), libqt4-opengl (>= 4:4.5.3), libqtcore4 (>= 4:4.6.1), libqtgui4 (>=
> 4:4.5.3), libstdc++6 (>= 4.4.0)
> 
> 
> I've found somewhere the cpack_add_component command, is this somewhat
> related to the missing dependencies?

I'd say given:

$ apt-cache search freeglut
glut-doc - documentation and examples for the OpenGL Utility Toolkit
glutg3-dev - the OpenGL Utility Toolkit development files
glutg3 - the OpenGL Utility Toolkit
libglut3-dev - development libraries and headers for GLUT
libglut3 - the OpenGL Utility Toolkit
freeglut3 - OpenGL Utility Toolkit
freeglut3-dbg - OpenGL Utility Toolkit debugging information
freeglut3-dev - OpenGL Utility Toolkit development files
libtaoframework-freeglut-cil-dev - Tao CLI binding for freeglut - development files
libtaoframework-freeglut2.4-cil - Tao CLI binding for freeglut



this is *plain normal behaviour*.

The user is expected to have installed freeglut3 properly
(via aptitude, apt-get or some such).
dpkg will not install missing dependencies.

Probably the best thing to do is to push the package
to some APT pool server out there (possibly even your own),
then have a user add that URL to /etc/apt/sources.list.d/
and install everything automatically via apt-get <your_package_name>

Andreas Mohr


More information about the CMake mailing list