[Users] Build Error on 4.0 unknown type name ‘GtkUIManager’ GtkActionGroup

Aleks al-clawsmail at none.at
Tue Mar 8 19:26:23 CET 2022


Dear Claws-Mail Developer.

I try again to switch from Thunderbird to Claws-Mail and wanted to test the 4.0
Version.

I try to build the claws 4 and downloaded the 4.0.0 from the release
page.
https://www.claws-mail.org/releases.php

After the ./configure run get I several errors at make step.

```shell
~/Downloads/claws-mail/claws-mail-4.0.0 #
./configure --enable-maintainer-mode \
  --prefix=/home/alex/claws4  --disable-deprecated \
  --with-config-dir=.claws-mail4
make

make[4]: Leaving directory
'/home/alex/Downloads/claws-mail/claws-mail-4.0.0/src/common'
Making all in gtk
make[4]: Entering directory
'/home/alex/Downloads/claws-mail/claws-mail-4.0.0/src/gtk'
make  all-am
make[5]: Entering directory
'/home/alex/Downloads/claws-mail/claws-mail-4.0.0/src/gtk'
/bin/bash ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
-I../..  -I./../common -I../common -I./.. -I./.. -pthread
-I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE -pthread -I/usr/include/enchant-2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DPLUGINDIR=\"/home/alex/claws4/lib/claws-mail/plugins/\" -DDOCDIR=\"/home/alex/claws4/share/doc/claws-mail\"    -g -O2 -Wno-unused-function -Wno-pointer-sign -Wall -D_GNU_SOURCE -g -Wno-pointer-sign -DUSE_MAINTAINER_MODE -MT about.lo -MD -MP -MF .deps/about.Tpo -c -o about.lo about.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I./../common -I../common
-I./.. -I./.. -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
-I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE -pthread -I/usr/include/enchant-2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DPLUGINDIR=\"/home/alex/claws4/lib/claws-mail/plugins/\" -DDOCDIR=\"/home/alex/claws4/share/doc/claws-mail\" -g -O2 -Wno-unused-function -Wno-pointer-sign -Wall -D_GNU_SOURCE -g -Wno-pointer-sign -DUSE_MAINTAINER_MODE -MT about.lo -MD -MP -MF .deps/about.Tpo -c about.c  -fPIC -DPIC -o .libs/about.o
In file included from about.c:36:
gtkutils.h:203:1: error: unknown type name ‘GtkUIManager’
  203 | GtkUIManager *gtkut_create_ui_manager(void);
      | ^~~~~~~~~~~~
gtkutils.h:204:1: error: unknown type name ‘GtkUIManager’
  204 | GtkUIManager *gtkut_ui_manager(void);
      | ^~~~~~~~~~~~
In file included from ./../prefs_common.h:29,
                 from about.c:38:
./../mainwindow.h:150:2: error: unknown type name ‘GtkActionGroup’
  150 |  GtkActionGroup *action_group;
      |  ^~~~~~~~~~~~~~
./../mainwindow.h:151:2: error: unknown type name ‘GtkUIManager’
  151 |  GtkUIManager *ui_manager;
      |  ^~~~~~~~~~~~
In file included from ./../summaryview.h:72,
                 from ./../prefs_common.h:30,
                 from about.c:38:
./../compose.h:258:2: error: unknown type name ‘GtkUIManager’
  258 |  GtkUIManager *ui_manager;
      |  ^~~~~~~~~~~~
In file included from ./../prefs_common.h:30,
                 from about.c:38:
./../summaryview.h:183:2: error: unknown type name ‘GtkActionGroup’
  183 |  GtkActionGroup *action_group;
      |  ^~~~~~~~~~~~~~
./../summaryview.h:184:2: error: unknown type name ‘GtkUIManager’
  184 |  GtkUIManager *ui_manager;
      |  ^~~~~~~~~~~~
...
```

When I search in the gtk3 doc have I seen this info

https://developer-old.gnome.org/gtk3/stable/GtkActionGroup.html#GtkActionGroup-struct
GtkActionEntry has been deprecated since version 3.10 and should not be used in
newly-written code.

https://developer-old.gnome.org/gtk3/stable/GtkUIManager.html#GtkUIManager.description
GtkUIManager is deprecated since GTK+ 3.10. To construct user interfaces from
XML definitions, you should use GtkBuilder, GMenuModel, et al. To work with
actions, use GAction, GtkActionable et al. These newer classes support richer
functionality and integration with various desktop shells. It should be
possible to migrate most/all functionality from GtkUIManager.

I have the following version installed on my system.

```shell
pkg-config --cflags gtk+-3.0
-pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
-I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include

sudo dpkg -l libgtk-[0-9]* | grep ^i 
ii  libgtk-3-0:amd64   3.24.20-0ubuntu1 amd64        GTK graphical user
interface library
ii  libgtk-3-bin       3.24.20-0ubuntu1 amd64        programs for the GTK
graphical user interface library
ii  libgtk-3-common    3.24.20-0ubuntu1 all          common files for the GTK
graphical user interface library
ii  libgtk-3-dev:amd64 3.24.20-0ubuntu1 amd64        development files for the
GTK library
```

Are my libs to recent to build claws 4?

I have also make a git clone from the claws git but I haven't seen how to
switch to the 4 version in git, therefore I wasn't able to test if the git
version is able to build with the gtk 3.24.

What have I over read to build claws from git on version 4?

Regards
Alex


More information about the Users mailing list