08-20-2020, 02:31 AM
Esteemed Colleagues:
I just built Gimp 2.10 from source and it crashes upon startup, as
soon as it tries to load the pagecurl plugin. Sometimes the crash
appears to occur upon loading the screenshot plugin, but I think that
is because screenshot is the last plugin that is loaded before loading
the pagecurl plugin. I think pagecurl is actually the plugin causing
the crash. Gimp is multithreaded so the exact moment when the main
window is unmapped and the error message is printed is indeterminate.
The error message is
g_param_spec_internal: assertion 'g_param_spec_is_valid_name (name)' failed
/gnu/bin/gimp: fatal error: Segmentation fault
and it seems to be coming from gimp_wire_read(). There is nothing
weird in my environment to which the crash can be attributed; the
crash still occurs when gimp is invoked after "env - DISPLAY=$DISPLAY".
(Parenthetically, building gimp from source was a nightmare. Gimp
2.10 required newer versions of, inter alia: glib, gtk, babl and gegl
than I had available thru my package manager, so I had to build those
from source too, and, in several cases, the libraries on which they
depend. The gegl build kept failing until I built a newer version of
gobject-introspection than the one I had, and then rebuilt babl using
the newer version of g-ir-scanner. This was, of course, completely
undocumented.)
Segmentation faults are common when you build software with a
PKG_CONFIG_PATH variable that does not correspond to your explicit or
implicit LD_LIBRARY_PATH when you run it, since you are linking
against different subroutines than the program was built to expect
(proper "-rpath" arguments in the pkg_config .pc files would fix that,
but the .pc files only contain -L arguments and not -rpath arguments,
I have no idea why). This seems, however, not to be the case here.
When gimp crashes and the debugger window pops up, it reports:
using GEGL version 0.4.26 (compiled against version 0.4.26)
using GLib version 2.65.1 (compiled against version 2.65.1)
using GdkPixbuf version 2.36.5 (compiled against version 2.36.5)
using GTK+ version 2.24.32 (compiled against version 2.24.32)
using Pango version 1.42.3 (compiled against version 1.42.3)
using Fontconfig version 2.13.92 (compiled against version 2.13.92)
using Cairo version 1.14.8 (compiled against version 1.14.8)
So -- at least with respect to those seven libraries (all of which I
had to build from source in order to be able to build gimp 2.10) --
gimp is using, at run time, the same version of the library that it
was built to expect.
How do I build a Gimp 2.10 binary that I can get to actually function?
I have no idea what the pagecurl plugin does, but I suspect that I
would be happy to live without it. I do not, however, see a configure
option for declining to build it.
As always, thank you in advance for any and all replies.
jay at m5 dot chicago dot il dot us
I just built Gimp 2.10 from source and it crashes upon startup, as
soon as it tries to load the pagecurl plugin. Sometimes the crash
appears to occur upon loading the screenshot plugin, but I think that
is because screenshot is the last plugin that is loaded before loading
the pagecurl plugin. I think pagecurl is actually the plugin causing
the crash. Gimp is multithreaded so the exact moment when the main
window is unmapped and the error message is printed is indeterminate.
The error message is
g_param_spec_internal: assertion 'g_param_spec_is_valid_name (name)' failed
/gnu/bin/gimp: fatal error: Segmentation fault
and it seems to be coming from gimp_wire_read(). There is nothing
weird in my environment to which the crash can be attributed; the
crash still occurs when gimp is invoked after "env - DISPLAY=$DISPLAY".
(Parenthetically, building gimp from source was a nightmare. Gimp
2.10 required newer versions of, inter alia: glib, gtk, babl and gegl
than I had available thru my package manager, so I had to build those
from source too, and, in several cases, the libraries on which they
depend. The gegl build kept failing until I built a newer version of
gobject-introspection than the one I had, and then rebuilt babl using
the newer version of g-ir-scanner. This was, of course, completely
undocumented.)
Segmentation faults are common when you build software with a
PKG_CONFIG_PATH variable that does not correspond to your explicit or
implicit LD_LIBRARY_PATH when you run it, since you are linking
against different subroutines than the program was built to expect
(proper "-rpath" arguments in the pkg_config .pc files would fix that,
but the .pc files only contain -L arguments and not -rpath arguments,
I have no idea why). This seems, however, not to be the case here.
When gimp crashes and the debugger window pops up, it reports:
using GEGL version 0.4.26 (compiled against version 0.4.26)
using GLib version 2.65.1 (compiled against version 2.65.1)
using GdkPixbuf version 2.36.5 (compiled against version 2.36.5)
using GTK+ version 2.24.32 (compiled against version 2.24.32)
using Pango version 1.42.3 (compiled against version 1.42.3)
using Fontconfig version 2.13.92 (compiled against version 2.13.92)
using Cairo version 1.14.8 (compiled against version 1.14.8)
So -- at least with respect to those seven libraries (all of which I
had to build from source in order to be able to build gimp 2.10) --
gimp is using, at run time, the same version of the library that it
was built to expect.
How do I build a Gimp 2.10 binary that I can get to actually function?
I have no idea what the pagecurl plugin does, but I suspect that I
would be happy to live without it. I do not, however, see a configure
option for declining to build it.
As always, thank you in advance for any and all replies.
jay at m5 dot chicago dot il dot us