[Users] claws-mail impap-error Port 993 tls on Macos

David Fletcher David at megapico.co.uk
Thu Nov 2 00:33:36 UTC 2023


>> In the attachment now the log of the 'make' error.
>
>It's exactly the same error that David noted the other day.
>
>with regards
>
>Paul

Yes, that's the same error I got. It turns out the compiling Claws
version 4 for GTK+3 is not straightforward at all on the Mac.

There are multiple places that GDK_WINDOWING_X11 is used to define
behaviour that roughly means "we're probably on a Unix like system".
The Mac is a Unix like system, but its version of GTK does not use X11.
It's possible to do so by recompiling GTK+3, but the default backend is
Quartz, as explained here: https://docs.gtk.org/gtk3/running.html

So Claws 4 falls into a trap - it's on a Unix like system, but necessary
code won't be included as it's not an X11 system so GDK_WINDOWING_X11
is not defined. So in compose.c this causes the header <gtk/gtkx.h> to
be excluded. This is the one that the includes <gtk/gtksocket.h> - so I
think is the cause of the errors such as compose.c:379:8: error: unknown
type name 'GtkSocket'; did you mean 'AtkSocket'?

There's a few changes you can make, but so far not successful. (1)
Comment out all the GDK_WINDOWING_X11 if and endif statements so those
parts are just included. (2) Replace
#  include <gdk/gdkx.h>
with
#  include <gdk/gdkquartz.h>
in src/action.c and src/main.c

There's also some statements including if(GDK_IS_X11_DISPLAY)....  -
well no, it's not X11. But it's not G_OS_WIN32 either. There's a gap
here that the Mac falls into.

A quick look at the Claws version 3 code shows only a couple of uses of
GDK_WINDOWING_X11 and it's never seemed to have any negative effect
there.

The macro GDK_WINDOWING_QUARTZ does exist and might be the key to sorting
some of this out - or I could be going down the wrong direction with
this. And possibly this is not really hitting the original problem of
network connection failures and memory leaks anyway.

Best regards, David.


More information about the Users mailing list