Hello,

I'm new here, but it seems like there's a bug in the configure file (I was just looking for the same thing) that means that libatril is only used with GTK+3 if --enable-evince is given but missing from the build environment (there's also a typo in the PKG_CHECK_MODULES macro for evince2_32). This patch fixes what I could find, typesetting is still broken for some reason, but at least it compiles. Unfortunately, I couldn't find every single place where atril checks are dependent on the useevince variable, so configuring with --enable-evince, then remove the dev package is still necessary.

--- a/configure.ac      2025-09-28 13:05:57.535618217 +0200
+++ b/configure.ac      2025-09-28 13:10:51.364641998 +0200
@@ -275,7 +275,7 @@
     fi

     if test "x$have_evince2_32" = "xno"; then
- PKG_CHECK_MODULES(ATRIL, atril-view-1.5.0 >= 1.5 have_atril=yes, have_atril=no) + PKG_CHECK_MODULES(ATRIL, atril-view-1.5.0 >= 1.5, have_atril=yes, have_atril=no)
       CFLAGS="$CFLAGS $ATRIL_CFLAGS"
       LIBS="$LIBS $ATRIL_LIBS"
     fi
@@ -303,13 +303,12 @@
   fi
 fi

-if test "x$useevince" = "xyes"; then
+if test "x$have_atril" = "xyes"; then
+  CFLAGS="$CFLAGS -DUSE_ATRIL"
+  LIBS="$LIBS $ATRIL_LIBS"
+elif test "x$have_evince2" = "xyes" -o "x$have_evince2_3" = "xyes" -o "x$have_evince2_32" = "xyes" -o "x$have_evince_3_0" = "xyes"; then
   CFLAGS="$CFLAGS -DUSE_EVINCE"
   LIBS="$LIBS -DUSE_EVINCE"
-  if test "x$have_atril" = "xyes"; then
-    CFLAGS="$CFLAGS -DUSE_ATRIL"
-    LIBS="$LIBS $ATRIL_LIBS"
-  fi
 fi

 AC_ARG_ENABLE(
--- a/src/printview/svgview.c   2025-09-07 14:13:44.000000000 +0200
+++ b/src/printview/svgview.c   2025-09-28 15:54:12.532692174 +0200
@@ -35,7 +35,5 @@


 #ifndef USE_EVINCE
-void set_continuous_typesetting (gboolean setting){return FALSE;}
-gboolean continuous_typesetting () {return FALSE;}
 #endif

--- a/src/scripting/scheme-callbacks.c  2025-09-07 14:13:44.000000000 +0200
+++ b/src/scripting/scheme-callbacks.c  2025-09-28 16:01:53.998036258 +0200
@@ -38,5 +38,6 @@
 #include "printview/printview.h"
 #include "printview/markupview.h"
 #include "display/calculatepositions.h"
+#include "display/displayanimation.h"
 #include "source/source.h"
 #include "source/sourceaudio.h"

Not that sure about the third hunk, it would probably be better if it was dependent on both evince and atril but I don't know what that code's doing (maybe fallback SVG rendering?), and this at least didn't murder ld because of a duplicate definition. If someone knows a magic flag to get GTK+3 Denemo into a working condition, please tell me, so far I could only break it more. In the meanwhile, I'll be looking into it.

sj

On 9/28/25 16:14, Andreas Schneider wrote:
Thanks Jeremiah.

When compiling with --disable-evince, I get the error

pageturner.c:28:10: fatal error: evince-view.h: Datei oder Verzeichnis nicht gefunden
    28 | #include <evince-view.h>
       |          ^~~~~~~~~~~~~~~

The reason seems to be that the constant USE_ATRIL is not defined. Yet I do not see which configure option defines it.

I can compile with evince after applying the patch mentioned in my last email.

Andreas



Reply via email to