Skip to content

Build Resynthesizer from source

Lloyd Konneker edited this page Mar 20, 2026 · 6 revisions

To build, you must have installed: a compiler, the meson build system, git, and the GIMP library. See below "Dependencies".

Then you download the git repo and command meson to build and install.

The build system

The build system for version 3 (the git branch named "resynthesizer3") is the meson build system. (The build system on the master branch, for GIMP 2, was automake. The GIMP project also builds with meson.)

Building on Linux

This tells how to build and install the Resynthesizer suite of plugins to the shared GIMP directories. The build is ordinary, following common meson tutorials...

Examples here are commands that you run in a terminal/shell:

Clone the repo:

git clone https://github.com/bootchk/resynthesizer.git

Change directory to the top of the repo:

cd resynthesizer

Checkout the "resynthesizer3" branch:

git checkout resynthesizer3

Build and install:

meson setup resynthesizerBuild
cd resynthesizerBuild
meson compile --verbose -j 12
meson install

After you have installed, you can delete the downloaded directory of the repo, including the build directory inside it.

Attention Ubuntu Users! On Ubuntu, the default installation path is /usr/local/lib/gimp/3.0/plug-ins and you may need to direct GIMP to look there. To do so, open GIMP and choose Edit>Preferences>Folders>Plugins> Add an entry /usr/local/lib/gimp/2.0/plug-ins.

Building on other platforms

There are no instructions here, nor build scripts in the repository, to build for Windows or Mac OSX.

The meson build system will run on those platforms. But Resynthesizer depends on the GIMP library. You also need to install or build the dependencies on other platforms.

Github supports building and releasing packages for these platforms. I myself can't do that until I learn more about Github, and until there is a runner image that has libgimp-3.0-dev installed. I don't want to build GIMP in my Github CI job just to be able to build the Resynthesizer.

Dependencies

Tool chain and dependencies

When you build, it may complain of missing packages. Please install them, for example:

sudo apt-get update
sudo apt-get install meson libgimp3.0-dev

Explanation

To build Resynthesizer (or any GIMP plugin in the C language) you need these developer packages:

  • build-essential - all the tools to build a Debian package ( gcc and make.)
  • meson
  • intltool (for i18n internationalization, when optionally installed)
  • libgimp3.0-dev - libraries that the Resynthesizer engine links to.

Note: The control panel plugin, since Resynthesizer v3, no longer depends on Gtk for GUI. Instead, the GUI is provided by GIMP using Gtk.

Runtime dependencies

The Resynthesizer plugin suite depends directly on GIMP, and transitively on GLib and Gtk.

Resynthesizer v3 outer plugins no longer depend on Python, only on the Scheme interpreter embedded in GIMP.

The Resynthesizer library (not the GIMP plugins) can be built without any runtime dependencies on GLib.

Further Customization

Configuring Resynthesizer

Build options use conventional meson techniques. See meson-options.txt.

One feature of the engine is "threads." Threading is not the default.
Threading does NOT help the performance as much as you might expect. Threading may give different, sometimes poor, results. Threading makes the engine non-deterministic, i.e. the results are not reproducible from run to run. Threading uses GLib threads but other people have been able to compile Resynthesizer with POSIX threads.

Another feature is "GLib dependence". Using Glib is the default. GLib provides platform independence. The engine plugin uses GLib. There is some unmaintained conditionally compilation without GLib.

Localization

Contributors have localized (internationalized, i18n) the plugins.

There is a build option to install localization data. For now, it defaults to "false", i.e. not installed. For now, i18n is broken, until a fix to GIMP that supports i18n for Scheme plugins.

To build for another spoken language, you may also need to create a symbolic link to your preferred language file, for example:

sudo ln -s /usr/local/share/locale/fr/LC_MESSAGES/resynthesizer.mo /usr/share/locale/fr/LC_MESSAGES/resynthesizer.mo

Clone this wiki locally