0

I know that gtkmm can be installed using package manager, but here I am keen to install it from source.

  • It requires me to install the Dependencies:

    • libsigc++ 2.0
    • GTK+ 3.0
    • glibmm
    • cairomm
    • pangomm
    • atkmm
  • These dependencies have their own dependencies, including the following applications and libraries:

    • pkg-config
    • glib
    • ATK
    • Pango
    • cairo
    • gdk-pixbuf
  • I have following questions:

    • Do I need to install these dependencies by source (also)? or if they are already installed by package manager, that could also work?
    • How can I check if these packages are installed by the package manager? Concern: I know about apt search but may be the package that apt uses to install the library might have a different name than the library.
    • Also, if the dependencies are installed by source, where should those be installed?

I am interested in trying out both dynamic and static linking.

2
  • Do I need to install these dependencies by source (also)? or if they are already installed by package manager, that could also work?

If they’re already installed by the package manager, that will work, as long as the installed version meets the requirements of the source code you’re trying to build.

Note that you’ll need the development packages, not only the library packages; thus for libsigc++, you need libsigc++-2.0-dev. The build dependencies of the gtkmm package can get you started:

sudo apt build-dep gtkmm3.0

For static linking you’ll probably need to build everything from source; most development packages in Debian don’t ship libraries for static linking.

  • How can I check if these packages are installed by the package manager?

dpkg -l, or if you’re looking for a specific file, dpkg -S.

  • Also, if the dependencies are installed by source, where should those be installed?

The source code can be placed wherever you want. The build artifacts should generally be installed in /usr/local, which is the default location used by most projects.

  • Could you please tell what is the difference between libsigc++-2.0-0v5 and libsigc++-2.0-dev? As these both are libraries, what is the difference? What is the use of libsigc++-2.0-0v5? – Nikhil Apr 30 at 9:41
  • 1
    The -0v5 package contains the runtime libraries, and is needed to run programs linked (dynamically) against libsigc++. The -dev package depends on the runtime package and adds various files which are only needed for development: header files, the main linker script (or in most cases a symlink to the runtime library) etc. – Stephen Kitt Apr 30 at 9:49
  • sudo apt build-dep gtkmm3.0, nothing happens. Also I did sudo apt build-dep libgtkmm3.0-dev, which shows error that Unable to find a source package for libgtkmm3.0-dev. I am surprised as apt search gtkmm3.0 does not outputs anything, while the later does output ? What should be changed? – Nikhil Apr 30 at 16:44
  • sudo apt build-dep gtkmm3.0 runs without producing any output? – Stephen Kitt Apr 30 at 19:10
  • $ sudo apt build-dep gtkmm3.0 [sudo] password for nikhil: Reading package lists... Done E: Unable to find a source package for gtkmm3.0 – Nikhil Apr 30 at 19:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.