Building from source

GEGL and its dependencies are known to build and run on Linux, Microsoft Windows with MSYS2/MINGW and Mac OSX. It probably can be built on other systems where glib and gtk+ work. More information is available on the GIMP website although some of the information is out of date.

Download

The latest development snapshot, and eventually stable versions of GEGL are available at http://download.gimp.org/pub/gegl/.

The current code under development can be browsed online and cloned from GNOME git using:

$ git clone https://gitlab.gnome.org/gnome/babl.git/
$ git clone https://gitlab.gnome.org/gnome/gegl.git/

Dependencies

GEGL has a number of mandatory and optional dependencies. Core dependencies relate to the GEGL library and the gegl binary, operation dependencies are used by the GEGL operations and build dependencies are only required during the build process.

  • Core dependencies (required)

    • babl (>=0.1.78) — pixel-format agnosticism.

    • glib (including gobject, gio, and gmodule) (>=2.44.0) — provides inheritance, dynamic modules, common algorithms and data structures for C programming.

    • json-glib (>=1.0.0) — load operations in .json format.

    • libjpeg (>=1.0.0) — jpg load/save.

    • libpng (>=1.6.0) — png load/export operations, and ImageMagick import fallback.

  • Core dependencies (optional).

  • Dependencies for operations (optional).

    • gdk-pixbuf-2.0 (>=2.32.0) — gdk-pixbuf load/save.

    • text — text source:

    • jasper (>=1.900.1) — jpeg2000 load.

    • lcms2 (>=2.8) — color management load.

    • libraw (>=0.15.4) — raw image load.

    • librsvg (>=2.40.6) — svg load.

    • libtiff (>=4.0.0) - tiff load/save

    • libv4l1 (>=1.0.1) — Video4Linux.

    • libwebp (>=0.5.0) — webp load/save.

    • openexr (>=1.6.1) — exr load/save.

    • poppler (>=0.71.0) — pdf load.

    • sdl2 (>=2.0.5) — cross platform direct media access layer.

    • avlibs — ffmpeg load/save(experimental):

      • libavcodec (>=55.69.100),

      • libavformat (>=55.48.100),

      • libavutil (>=55.92.100),

      • libswscale (>=2.6.100).

    • umfpack

  • Dependencies for workshop operations (optional).

    • lensfun

    • maxflow

    • libv4l2 (>=1.0.1) — Video4Linux.

  • Build utilities (optional) — to build documentation. For cross-compiles these are build environment dependencies (native to the build system).

    • asciidoc — convert the main documentation files from asciidoc markup language to html.

    • graphviz dot — used to create the

    • gtkdoc_scan

    • source-highlight  — provide syntax highlighting for source code in the documentation files (called by transparently by asciidoc).

    • w3m — used to convert html pages to plain text (only used for generating the distribution files).

  • Run time dependencies (optional)

    • dot — required for the gegl:introspection operation. The operation will be disabled if dot is not present.

    • pygobject3  — used to build python programs against the gegl library. Required to run python test suite.

Compiling

To build GEGL type the following in the top level source directory:

$ meson _build
$ ninja -C _build
$ sudo ninja -C _build install