Error compiling GIMP GIT

Yes I’m compiling as root.
I want install into a high privileges because sometime I clean all my home . On one PC I have little home space and to another I save onto a NAS.
What do could change for compiling working as root?

Hmm, I don’t have any advice for anyone trying to install GIMP from git as root, nor in a folder owned by root, such as /opt or even in /usr/local - been there, done that, received emails from other people who tried it, eventually it seems to cause problems. All of the above is doubly true if you also need to install glib or similar software. Leastways I don’t know how to do do any of the above without causing problems that I don’t know how to solve. Maybe someone else can help.

I do very much appreciate the desire to have GIMP installed someplace besides one’s $HOME folder. Here’s what I would advise (and also what I actually do, as not too long ago I decided to move my build folders out of my $HOME folder):

  1. As root, make a new folder on some partition that has a lot of room, maybe call the new folder something like “MyData”. Given what you describe, I’m guessing you’d be creating or at least mounting this folder on “/”, in which case it would look like this: “/MyData”.

  2. As root, “give” that new folder to your user, using “chown” and “chgrp” - I’d have to look up the exact syntax but surely someone on this list knows the exact commands to use - I use these commands fairly often but still end up looking them up every time I want to use them.

  3. Edit: As your user (not as root), build and install GIMP and all required software that’s too new to come from your package distributor in a subfolder of the new folder that you created as root and then “gave” to yourself as user, for example in “/MyData/gimpdefault”. So build glib/babl/GEGL/GIMP/etc in subfolders of “/MyData/gimpdefault/build/” and install everything in “/MyData/gimpdefault/install”.

1 Like

That looks bad and is most likely the problem. I don’t know GIMP’s build system (or autofoo for that matter) so I can’t give any advice how to debug or fix that. :frowning:

Investigationing more I find :

gegl master needs [m4_define([glib_required_version], [2.44.0])
gimp master needs m4_define([glib_required_version], [2.54.2])

hence the glib needs are uncorrelated between gegl and gimp.
Gimp needs glib functions which gegl doesn’t need.

Remain to discover because gimp points to a glib versions which hasn’t g_object_new_with_properties function

Hi,
do you mean gimp points to two libraries of different glib?

Hi Elle,
when I’ll be to the PC I’ll try to compile and install as you said for viewing what happen.

Cheers

1 Like

Yes.

You still need to compile both with the same libglib!

Given how much trouble you have compiling GIMP, is there a reason you are not just upgrading your system to have everything you need?

…and why do gegl-master and gimp-master have different glib versions needs? :hushed:

With this experience I learned if you wish to have bleeding edge version of a particular software you need a bleeding edge OS :roll_eyes:
I have Slackware 14.2 which is considered very stable, but for my needs it’s a little locked . I could to go for the current but it’s unkward if you installed Nvidia driver for 3d accelleration…kernel changes quickly… and you have to recompile the driver…
Now I’m thinking to pass to a rolling OS as Gentoo…but I’m in learning… I do not know…

Question: is possible to have bleeding edge gimp with this ebuild

Before family live took over, I used Gentoo for several years. Although it worked very well and was fast as hell, I would say it was very time consuming to maintain the system and keep running. My gut feeling suggests do not step into this, execpt running bleding edge software is your main interest.

If it is only Gimp and darktable, Debian stable does it. Debian testing would be a rolling release system as well.

I run Gentoo, but I agree 100% with @pk5dark . Gentoo is an excellent distribution for learning the ins and outs of Linux. It allows for a lot of flexibility, which is why I prefer Gentoo over other Linux distributions. But I would never recommend for anyone to switch to Gentoo just to get bleeding edge software:

First, Gentoo requires learning a lot more new stuff than you might actually want to learn. It certainly requires learning more than I want to learn. Ask me how long it’s been since I updated my kernel, and then ask me why. Actually no, don’t ask, because I don’t want to talk about it.

Second, Gentoo requires a fast internet connection and a fast computer for compiling from source every single time you update to pull in the latest software, preferably with enough RAM to allow building entirely in RAM. Ask me how long it took to do a required profile upgrade yesterday, which required recompiling and reinstalling every single package on my system, using a very specific sequence of commands. Ask me how I intend to deal with the 715 config files that now need updating. No, don’t ask, because I don’t want to talk about it :slight_smile: .

Third, not all software in the official Gentoo repository is as up-to-date as you might need. For example, right now I have to compile libvips from source if I want to install PhotoFlow, which of course also needs to be compiled from source as it’s not available from Gentoo portage. Also for GIMP 2.9, I have to install glib in the GIMP prefix, because the version of glib in Gentoo isn’t current enough, though usually it is.

If you want to switch distributions to a rolling distribution, Debian testing is a good option. Also think about OpenSUSE Tumbleweed. I think Arch also is a rolling distribution?

OpenSUSE has the nice feature that a lot of cutting-edge packages are already compiled and ready to install, whether you run Tumbleweed or simply keep up with the latest release versions of OpenSUSE. For example see:

https://software.opensuse.org/package/gimp

which shows several options for installing GIMP 2.9.9.

2 Likes

Well, the requirements are “minimum version” requirements. So install the latest of the two versions in your prefix for GIMP 2.9, or install glib from git in your prefix, which can be riskier than installing an official release version, but usually works just fine.

GEGL is actually used by software other than GIMP. So it’s entirely possible that someone might want to install GEGL without also installing GIMP, in which case “what GIMP needs” and what “some other software needs” in terms of GEGL and also in terms of other libraries such as glib, are likely to be very different. This is one of the advantages of compiling software in a prefix - if done correctly, you can install for example glib and GEGL in one prefix for GIMP, and agan in another prefix for some other software, without causing any unwanted interaction between the versions of GEGL and glib in the two different prefixes.

You might find this older article useful to peruse:

Build GIMP 2.9 from git, GIMP 2.8, & GIMP 2.6,
each in its own prefix
https://ninedegreesbelow.com/photography/build-gimp-in-prefix.html

As you might guess, library version requirements for GIMP 2.9, 2.8, and 2.6 are very different. 2.6 required libraries that were “too old” to be in my Linux repository, and 2.9 required libraries that were “too new” to be in my Linux repository. But using three different prefixes allowed all three versions to be installed, all at once, and even run all at the same time.

When I switched to Linux it was I was tired of that antivirus which rotated for minutes and those virus and malwares which were annunced.
In theese eleven years I wanted to learn more possible about this new system which was and which is unknown to most. Actually when I talk with someone and I say I have “Linux”, they say: “what?”; or “Linux, but switch to W…s”.
I’m very proud to have a Linux distro on all my pc’s (laptop,desktop,raspberry,router,NAS etc.) and I wish to understand more possible about it.

After, it arrived Photography passion and to have the lastest function is necessary for competing with friends which have the others softwares.:roll_eyes:

However the first wish is to understand in deep this amazing world of FOSS’s and if a distro force me to that depth it 's not bad.

I’ll decide…

PS. I’ll never stop to thank, sufficiently who codes in FOSS.

Cheers
Gabriele

1 Like

ahhrg…:face_with_raised_eyebrow:
I compiled gimp into /home/gabriele/code/gimpdefault with this hint but the issue is the same:

I have

Making all in .
make[4]: Entering directory ‘/home/gabriele/code/gimpdefault/build/gimp/app’
_ CCLD gimp-2.9

_ CCLD gimp-console-2.9_
core/libappcore.a(gimpimage-undo.o): In function gimp_image_undo_push':_ _/home/gabriele/code/gimpdefault/build/gimp/app/core/gimpimage-undo.c:402: undefined reference to g_object_new_with_properties’
/home/gabriele/code/gimpdefault/install/lib/libgio-2.0.so: undefined reference to g_build_filename_valist'_ _/home/gabriele/code/gimpdefault/install/lib/libgio-2.0.so: undefined reference to g_sequence_is_empty’
collect2: error: ld returned 1 exit status
Makefile:985: recipe for target ‘gimp-console-2.9’ failed
make[4]: *** [gimp-console-2.9] Error 1
make[4]: *** Waiting for unfinished jobs…
gui/libappgui.a(gui-vtable.o): In function gui_pdb_dialog_new':_ _/home/gabriele/code/gimpdefault/build/gimp/app/gui/gui-vtable.c:546: undefined reference to g_object_new_with_properties
core/libappcore.a(gimpimage-undo.o): In function gimp_image_undo_push':_ _/home/gabriele/code/gimpdefault/build/gimp/app/core/gimpimage-undo.c:402: undefined reference to g_object_new_with_properties’
/home/gabriele/code/gimpdefault/install/lib/libgio-2.0.so: undefined reference to g_build_filename_valist'_ _/home/gabriele/code/gimpdefault/install/lib/libgio-2.0.so: undefined reference to g_sequence_is_empty’
collect2: error: ld returned 1 exit status
Makefile:981: recipe for target ‘gimp-2.9’ failed
make[4]: *** [gimp-2.9] Error 1
_
and after

make V=1, I have

/usr/lib64/libglib-2.0.so […] /opt/gimp-master/lib/libglib-2.0.so

:expressionless:

echo $PREFIX $PATH $LD_LIBRARY_PATH $XDG_DATA_DIRS $ACLOCAL_FLAGS $PKG_CONFIG_PATH $GIO_EXTRA_MODULES $SRC_DIR

give
/home/gabriele/code/gimpdefault/install /home/gabriele/code/gimpdefault/install/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/opt/blender:/usr/lib64/kde4/libexec:/usr/lib64/qt/bin:/usr/lib64/qt5/bin:/usr/share/texmf/bin /home/gabriele/code/gimpdefault/install/lib: /home/gabriele/code/gimpdefault/install/share:/usr/share:/usr/share:/usr/local/share:/home/gabriele/.kde/share/ -I /home/gabriele/code/gimpdefault/install/share/aclocal /home/gabriele/code/gimpdefault/install/share/pkgconfig:/home/gabriele/code/gimpdefault/install/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig /home/gabriele/code/gimpdefault/install/lib/gio/modules /home/gabriele/code/gimpdefault/build

I do not know what to do now…
I’ll try to install glib from git into my distro glib location :neutral_face:

Have you considered trying the GIMP AppImage? It is intended exactly for this kind of cases. Just download the latest package and make it executable…

The appimage is updated every Thursday.

Hi,
yes tried it and it works.
Thanks

@dafrasaga wants to do it for the experience but nowadays we are fortunate enough to have most packages pre-built for our system.

BTW @dafrasaga, you could truncate long blocks of code by using three back ticks like so:

```
#Insert command line output.
```

turns into

#Insert command line output.

I could be wrong, but I think that’s not a safe thing to do!

It definitely isn’t.

That does indicate that GIMP isn’t seeing the right version of glib. When you look in “/home/gabriele/code/gimpdefault/install/bin”, do you see any glib executables? For example, in my own “gimpdefault/install/bin” I see these: gapplication gdbus gdbus-codegen gio gio-querymodules glib-compile-resources glib-compile-schemas glib-genmarshal glib-gettextize glib-mkenums gobject-query gresource gsettings gtester gtester-report. And of course there’s also glib “stuff” in the include, lib, and share folders.