Cannot enable "Map" extension in gThumb

Neither in Debian “apt install” package nor in Arch “pacman -S” gThumb packages, the “Map” extension seems to be available. The menu entry under “Preferences” → “Extensions” → “Map” does not exist. Therefore I tried to build gThumb myself with libchamplain included, which apparently is a prerequisite for the “Map” extension.

Under Debian, I was successfully able to do so, even though I had to figure out myself by reverse engineering that I have to configure usage of libchamplain with “meson configure -Dlibchamplain=true” before building it (would be nice if there was a hint in the installation instructions in the “README.md”).

However, under Arch (current kernel 6.4.12-arch1-1), I failed to get the maps extension to work. This is what I tried:

  • Cloned source from GNOME / gThumb · GitLab
  • Ran meson configure -Dlibchamplain=true in “build” sub directory
  • Ran meson build --reconfigure in repository’s root directory
  • Ran ninja -C build
  • Ran sudo ninja -C build install
  • Started gThumb from command shell
  • Went to “Preferences” → “Extensions”: Entry for “Map” is there, but disabled
  • Enabled “Map” entry → after a few seconds, gThumb crashes and closes unexpectedly
  • On command line, got the following console output:

(gthumb:69979): libsoup-ERROR **: 13:00:21.144: libsoup2 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.
Trace/breakpoint trap (core dumped)

What can I do to get it work? Should I open an issue under Issues · GNOME / gThumb · GitLab?

To summarize: Three issues I am seeing:

  1. “Map” extension not available at all by default neither in Debian nor in Arch packages
  2. No hint in “README.md” that meson configure -Dlibchamplain=true has to be done when building yourself
  3. Above error message after compiling, running and trying to enable “Map” extension

libchamplain-0.12.20 uses libsoup2

libchamplain-0.12.21 supports both (either) libsoup2 / libsoup3 ( libsoup3 is the default )

gThumb uses libsoup2.

So, if you want to use the gThumb map plugin, you can build and use:

  • libchamplain-0.12.20 (or)
  • libchamplain-0.12.21 with -Dlibsoup3=false.

It won’t work with libchamplain-0.12.21 compiled with -Dlibsoup3=true, as libsoup2 and libsoup3 cannot live in the same processes.

Cheers!

Thanks a lot, with your help, I was finally able to make it work! (After some minor fights, though, such as configuring libchamplain to install to /usr/lib instead of /usr/local/lib with meson setup --prefix=/usr --buildtype=release and such).

My question 1. (and optionally 2.) still remains open, though: Is there a reason for not having the proper libchamplain and therefore the “Map” extension in the gthumb Arch and Debian packages by default?

Thank you for your help, much appreciated!

From https://gitlab.gnome.org/GNOME/gthumb, champlain is an optional library.

Other optional libraries:

  • libraw - some support for RAW photos
  • librsvg - display SVG images
  • libwebp - display and save WebP images
  • libjxl - display JPEG XL images
  • libheif - display and save AVIF images
  • lcms2, colord - color profile support
  • champlain, champlain-gtk - view the place a photo was taken on a map
  • clutter, clutter-gtk - enhanced slideshow effects
  • libsoup, json-glib, webkit2gtk, libsecret - upload images to and download images from some web services such as Facebook, Flickr
  • brasero - write images and comments to CDs
  • bison, flex - web albums

That being said, the reason why libchamplain ( map support ) is disabled by default, might have to do something with the below explanation.

configure.ac ( before 2017 ):

C_ARG_ENABLE([libchamplain],
[AS_HELP_STRING([--enable-libchamplain],[compile code that uses the libchamplain library (crashes frequently)])],,
[enable_libchamplain=no])

which later became the following after the meson port.

meson-options.txt ( after 2017 )

option('libchamplain',
  type : 'boolean',
  value : false,
  description : 'Use libchamplain to show the position the image refers to'
)

I’m not sure if "libchamplain" still should be disabled by default in gThumb. You can take it up with the gThumb maintainers by raising an issue at https://gitlab.gnome.org/GNOME/gthumb/-/issues/

In general, when something is disabled by default in "configure.ac" / "meson-options.txt", there is usually a reason behind this, which you can always dig by doing a simple "git log" ( as I did in this case ).

Cheers!

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.