How to install latest evince in a prefix?

To use the latest evince, I’d like to install it to a prefix, in order to avoid clobbering /usr/local/ with an experimental build. This used to work great with autotools. However, with the new meson build system, the prefix-installed binaries still evidently use the backends installed via the system package manager in /usr/lib/x86_64-linux-gnu/evince/4/backends.

This is what I am using to compile:

$ meson setup --prefix /home/myself/usr/opt/evince-master builddir
$ cd builddir
$ meson compile
$ meson install

I test by opening a PDF file with links, and checking if the link_preview opens. On another computer this works, but I need to clobber /usr/local/.

1 Like

evince loads backends from PREFIX/LIBDIR/evince/4/backends, so setting the prefix with meson setup --prefix PATH should work, and has been working for me. One guess is that maybe you need to set the $LD_LIBRARY_PATH environment variable so that evince can find its evdocument and evview libraries.

Thank you @jcrain . No success with LD_LIBRARY_PATH set to the lib dir inside the prefix.

I uninstalled evince from the package manager (I’m on Debian testing, meson version 0.55.1), and rebuild and reinstall using meson. Now I cannot even start evince:

(evince:11892): GLib-GIO-ERROR **: 14:07:25.295: Settings schema 'org.gnome.Evince' is not installed
Trace/breakpoint trap

The schema file, however, is installed and compiled in the prefix.

I also needed to fix some simple C compile errors. Perhaps I need to be more patient and start there. Any other ideas where to look next?

Set env variable GSETTINGS_SCHEMA_DIR="$PREFIX/share/glib-2.0/schemas"

1 Like

Thank you @jcrain , that works!

Except, link preview is still not working… (my reason to install the development version). Will do some more debugging.

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