| ||
|
| ||
|
|
|
(artwork by Mahvin)
|
Here you can download sources and binaries of G'MIC for various architectures.
I'd like to support G'MIC development and I happily give:
For bandwidth saving reasons, some of our binary packages are hosted by our partner FOSSHUB.
|
The source code of G'MIC is shared between several git repositories with public access. Accessing it via git ensures you get the latest code available, and will ease the source updates as well. Here are the instructions to compile G'MIC on a fresh installation of Debian (or Ubuntu). It should not be much harder for other distros. First you need to install all the required tools and libraries:
$ sudo apt install git build-essential libgimp2.0-dev libopencv-dev \
libcurl4-openssl-dev libfftw3-dev qt5-default qtbase5-dev
Then, get the G'MIC source from the different repositories:
$ git clone --depth=1 https://github.com/dtschump/CImg.git $ git clone --depth=1 https://github.com/dtschump/gmic.git $ git clone --depth=1 https://github.com/c-koi/gmic-qt.git $ git clone --depth=1 https://github.com/c-koi/zart.gitYou are now ready to compile all G'MIC interfaces: gmic (command-line tool), gmic_gimp_qt (plug-in for GIMP), gmic_krita_qt (plug-in for Krita), ZArt and libgmic (G'MIC C++ library). Just pick your choice:
$ cd gmic/src
$ make cli # Compile command-line interface
$ make gimp # Compile plug-in for GIMP
$ make krita # Compile plug-in for Krita
$ make lib # Compile G'MIC library files
$ make zart # Compile ZArt
$ make all # Compile all of the G'MIC interfaces
and go out for a long drink (the compilation takes time).
Note that compiling issues (compiler segfault) may happen with older versions of g++ (4.8.1 and 4.8.2). If you encounter this kind of errors, you probably have to disable the support of OpenMP in G'MIC to make it work, by compiling it with:
$ make OPENMP_CFLAGS="" OPENMP_LIBS=""
Also, please remember that the source code in the git repository is constantly under development and may be a bit unstable, so do not hesitate to report bugs if you encounter any.
On Windows, compiling executables of the different G'MIC interfaces is not that hard. It requires the following steps:
$ pacman -Syu
$ pacman -Sy mingw64/mingw-w64-x86_64-qt5 mingw64/mingw-w64-x86_64-gimp \ mingw64/mingw-w64-x86_64-pkgconf mingw64/mingw-w64-x86_64-gcc \ mingw64/mingw-w64-x86_64-fftw make git
$ cd /mingw64/bin && ln -s pkgconf.exe pkg-config.exe
PATH="/mingw64/bin:${PATH}"
$ git clone --depth=1 https://github.com/dtschump/CImg.git $ git clone --depth=1 https://github.com/dtschump/gmic.git $ git clone --depth=1 https://github.com/c-koi/gmic-qt.git $ git clone --depth=1 https://github.com/c-koi/zart.git
$ cd gmic/src/
$ make OPENCV_CFLAGS="" OPENCV_LIBS="" cliYou may want to disable Link-Time-Optimization to save memory usage when compiling, because g++ eats a lot of memory when LTO is enabled. In that case, type:
$ make OPENCV_CFLAGS="" OPENCV_LIBS="" FLTO="" cliinstead.
$ cd /mingw64/bin/ && cp libgcc_s_seh-1.dll libwinpthread-1.dll libgomp-1.dll \
libstdc++-6.dll libcurl-4.dll libbrotlidec.dll libbrotlicommon.dll \
libcrypto-1_1-x64.dll libidn2-0.dll libiconv-2.dll libintl-8.dll libunistring-2.dll \
libnghttp2-14.dll libpsl-5.dll libssh2-1.dll zlib1.dll libssl-1_1-x64.dll libzstd.dll \
libfftw3-3.dll libjpeg-8.dll libpng16-16.dll libtiff-5.dll liblzma-5.dll PATH_TO_EXE/
$ cd gmic-qt/
$ qmake HOST=noneFor an unknown reason, qmake sometimes takes a lot of time to end, hanging 5 minutes or so without displaying any messages. But at the end, it just works, so be patient!
$ make -j4 release
$ cd /mingw64/bin/ && cp libgcc_s_seh-1.dll libwinpthread-1.dll libgomp-1.dll \ libstdc++-6.dll libcurl-4.dll libbrotlidec.dll libbrotlicommon.dll \ libcrypto-1_1-x64.dll libidn2-0.dll libiconv-2.dll libintl-8.dll libunistring-2.dll \ libnghttp2-14.dll libpsl-5.dll libssh2-1.dll zlib1.dll libssl-1_1-x64.dll libzstd.dll \ libfftw3-3.dll libpng16-16.dll Qt5Core.dll libdouble-conversion.dll libicuin67.dll \ libicuuc67.dll libicudt67.dll libpcre2-16-0.dll Qt5Gui.dll libharfbuzz-0.dll \ libgraphite2.dll libfreetype-6.dll libbz2-1.dll libglib-2.0-0.dll libpcre-1.dll \ Qt5Network.dll Qt5Widgets.dll PATH_TO_EXE/
$ cp -rf /mingw64/share/qt5/plugins/platforms PATH_TO_EXE/
Same as above, but invoke qmake with:
$ qmake HOST=gimp
Same as above, but invoke qmake with:
$ qmake HOST=krita
Same as above, but invoke qmake with:
$ qmake HOST=paintdotnet
G'MIC is an open-source software distributed under the
CeCILL free software licenses (LGPL-like and/or
GPL-compatible).
Copyrights (C) Since July 2008,
David Tschumperlé - GREYC UMR CNRS 6072, Image Team.