Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 416587

Summary: media-libs/gegl-0.2.0: fails to compile with USE="introspection"
Product: Gentoo Linux Reporter: Guillaume ZITTA <gentoo.guillaume>
Component: [OLD] LibraryAssignee: Sebastian Pipping <sping>
Status: RESOLVED FIXED    
Severity: normal CC: brad, jason, tsdh
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 413663    
Bug Blocks:    
Attachments: Patch to fix Makefile

Description Guillaume ZITTA 2012-05-19 07:04:25 UTC
Compile Fail with

/usr/share/gobject-introspection-1.0/Makefile.introspection:150: *** Need to define Gegl_0_2_gir_FILES

Reproducible: Always
Comment 1 Guillaume ZITTA 2012-05-19 07:07:12 UTC
Created attachment 312247 [details, diff]
Patch to fix Makefile

thanks to PLD Linux :
http://cvs.pld-linux.org/cgi-bin/viewvc.cgi/cvs/packages/gegl/gegl-introspection.patch?view=markup
Comment 2 Guillaume ZITTA 2012-05-19 07:11:43 UTC
Workaround for possibly next problem :

After patching, if compile fail @GISCAN Gegl-0.2.gir, relaunch make manualy should (works for me) finish the compilation :

cd /var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0
make
ebuild /usr/portage/media-libs/gegl/gegl-0.2.0.ebuild compile merge
Comment 3 Jason Lamb 2012-06-04 19:50:41 UTC
I can confirm that I was able to emerge gegl-0.2.0 with the introspection USE flag, by first applying the patch from comment #1, (localpatch worked fine), and then when the emerge fails at;
---------------------------------------------------------
make[3]: Entering directory `/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl'
  CC     gegl-c.lo
  CC     gegl-apply.lo
  CC     gegl-cpuaccel.lo
  CC     gegl-config.lo
  CC     gegl-dot.lo
  CC     gegl-dot-visitor.lo
  CC     gegl-enums.lo
  CC     gegl-init.lo
  CC     gegl-instrument.lo
  CC     gegl-utils.lo
  CC     gegl-lookup.lo
  CC     gegl-xml.lo
  CC     gegl-matrix.lo
  CCLD   libgegl-0.2.la
  GISCAN Gegl-0.2.gir
<command-line>:0:15: warning: missing terminating " character [enabled by default]
/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c: In function ‘escaped_printf’:
/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c:58:7: error: stray ‘\’ in program
/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c:58:7: error: missing terminating " character
/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c:58:7: error: expected expression before ‘,’ token
/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c: In function ‘goutput_write’:
/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c:73:7: error: stray ‘\’ in program
/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c:73:7: error: missing terminating " character
/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c:73:7: error: expected expression before ‘,’ token
compilation of temporary binary failed:Command '['gcc', '-Wall', '-pthread', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-march=native', '-O2', '-pipe', '-mmmx', '-msse', '-ftree-vectorize', '-ffast-math', '-Wall', '-Wdeclaration-after-statement', '-Wmissing-prototypes', '-Wmissing-declarations', '-Winit-self', '-Wpointer-arith', '-Wold-style-definition', '-DG_LOG_DOMAIN=\\"GEGL-\\"__FILE__', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-I/usr/include/babl-0.1', '-I..', '-I../gegl', '-I../gegl/buffer', '-I../gegl/buffer', '-I../gegl/property-types', '-I../gegl/property-types', '-I../gegl/operation', '-I../gegl/operation', '-I../gegl/opencl', '-I../gegl/opencl', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-c', '-o', '/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.o', '/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl/tmp-introspectC9Zj9Z/Gegl-0.2.c']' returned non-zero exit status 1
make[3]: *** [Gegl-0.2.gir] Error 1
make[3]: Leaving directory `/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0'
make: *** [all] Error 2
 * ERROR: media-libs/gegl-0.2.0 failed (compile phase):
---------------------------------------------------------
changing to the work directory and issuing a make, and then ebuild [...] compile merge.
Comment 4 tman 2012-06-14 22:55:37 UTC
what i did wrong?

1) i started emerge -1 gegl.
2) after breaks i go to "/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0"
3) wget https://bugs.gentoo.org/attachment.cgi?id=312247
4) mv attachment.cgi?id=312247 test.patch
5) patch test.patch gegl/Makefile.am

result:

make  all-recursive
make[1]: Entering directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0'
Making all in libs
make[2]: Entering directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/libs'
Making all in rgbe
make[3]: Entering directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/libs/rgbe'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/libs/rgbe'
make[3]: Entering directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/libs'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/libs'
make[2]: Leaving directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/libs'
Making all in gegl
make[2]: Entering directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl'
/usr/share/gobject-introspection-1.0/Makefile.introspection:150: *** Need to define Gegl_0_2_gir_FILES.  Stop.
make[2]: Leaving directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0/gegl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0'
make: *** [all] Error 2
Comment 5 Jason Lamb 2012-06-15 00:51:59 UTC
(In reply to comment #4)
> what i did wrong?
> 
> 1) i started emerge -1 gegl.
> 2) after breaks i go to
> "/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0"
> 3) wget https://bugs.gentoo.org/attachment.cgi?id=312247
> 4) mv attachment.cgi?id=312247 test.patch
> 5) patch test.patch gegl/Makefile.am
> 

You need to apply the patch when you emerge gegl, not after. Then when the emerge breaks, follow the steps from comment #2;

cd /var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0
make
ebuild /usr/portage/media-libs/gegl/gegl-0.2.0.ebuild compile merge

Good Luck..
Comment 6 tman 2012-06-15 05:30:40 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > what i did wrong?
> > 
> > 1) i started emerge -1 gegl.
> > 2) after breaks i go to
> > "/var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0"
> > 3) wget https://bugs.gentoo.org/attachment.cgi?id=312247
> > 4) mv attachment.cgi?id=312247 test.patch
> > 5) patch test.patch gegl/Makefile.am
> > 
> 
> You need to apply the patch when you emerge gegl, not after. Then when the
> emerge breaks, follow the steps from comment #2;
> 
> cd /var/tmp/portage/media-libs/gegl-0.2.0/work/gegl-0.2.0
> make
> ebuild /usr/portage/media-libs/gegl/gegl-0.2.0.ebuild compile merge
> 
> Good Luck..

thanks there is a modified ebuild of gegl, which use the patch?

i download the patch into "/usr/portage/media-libs/gegl/files", but it semms to not automaticaly apply the patch at emerge. so how should i appply the patch else before i emerge?
Comment 7 Jason Lamb 2012-06-15 15:15:19 UTC
(In reply to comment #6)
> 
> thanks there is a modified ebuild of gegl, which use the patch?
> 
> i download the patch into "/usr/portage/media-libs/gegl/files", but it semms
> to not automaticaly apply the patch at emerge. so how should i appply the
> patch else before i emerge?

There's no modified ebuild in the bug report. One method to apply the patch is to copy the ebuild to your local portage directory, (and rename it to gegl-0.2.0-r1.ebuild), add the patch to the files directory there, and then modify the ebuild to apply the patch.

You shouldn't modify your portage tree by adding patches to the files directory, or modifying ebuilds there directly. That's what the local portage directory is for.

Good Luck..
Comment 8 tman 2012-06-15 16:47:32 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > 
> > thanks there is a modified ebuild of gegl, which use the patch?
> > 
> > i download the patch into "/usr/portage/media-libs/gegl/files", but it semms
> > to not automaticaly apply the patch at emerge. so how should i appply the
> > patch else before i emerge?
> 
> There's no modified ebuild in the bug report. One method to apply the patch
> is to copy the ebuild to your local portage directory, (and rename it to
> gegl-0.2.0-r1.ebuild), add the patch to the files directory there, and then
> modify the ebuild to apply the patch.
> 
> You shouldn't modify your portage tree by adding patches to the files
> directory, or modifying ebuilds there directly. That's what the local
> portage directory is for.
> 
> Good Luck..

thanks


it woorks :))
Comment 9 Alex Buell 2012-07-26 18:02:59 UTC
Yes, patching the makefile and then rerunning the make and manually merging solves the problem. It would be nice if we can fix it so that we don't need to manually continue the build process though. But thanks :-)
Comment 10 Tassilo Horn 2012-11-17 12:46:15 UTC
Using the patch, the

  *** Need to define Gegl_0_2_gir_FILES.  Stop.

error is gone, and now I end up with the same error as Jason in comment 3.
Comment 11 Sebastian Pipping gentoo-dev 2013-04-28 16:55:38 UTC
Upstream have fixed it themselves by now:

  https://git.gnome.org/browse/gegl/commit/gegl/Makefile.am?id=35469116fbf0b398d748f8116e4dcc8bdaee12c7

I have applied that to the ebuild now:

+  28 Apr 2013; Sebastian Pipping <sping@gentoo.org> gegl-0.2.0-r1.ebuild,
+  +files/gegl-0.2.0-introspection-version.patch:
+  Use upstream patch to fix introspection version (bug #416587)
+

However, don't expect the build to finish without Babl-0.1.gir from >=media-libs/babl-0.1.10[introspection] which is hard to satisfy still.  Let me quite from profiles/base/package.use.mask:

  # Compilation fails due to a bug in dev-libs/gobject-introspection
  # that has yet to be resolved upstream.
  # See <https://bugzilla.gnome.org/show_bug.cgi?id=673580#c5> for details
  >=media-libs/babl-0.1.8 introspection

I am in doubt about applying this patch as well:

  https://git.gnome.org/browse/gegl/commit/gegl/Makefile.am?id=7dcbb7321357166d36a9bf379efde7ad87fc4c17
Comment 12 Sebastian Pipping gentoo-dev 2013-04-30 23:12:50 UTC
+  30 Apr 2013; Sebastian Pipping <sping@gentoo.org> gegl-0.2.0-r1.ebuild,
+  +files/gegl-0.2.0-g_log_domain.patch:
+  Apply experimental fix for G_LOG_DOMAIN related compile errors (bug #416587)
+

Previously, double escaping of

  -DG_LOG_DOMAIN=\"GEGL-\"__FILE__

to

  -DG_LOG_DOMAIN=\\"GEGL-\\"__FILE__

led to this error:

====================================================
g-ir-scanner: compile: gcc -Wall -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -march=core2 -msse4.1 -O2 -pipe -mmmx -msse -ftree-vectorize -ffast-math -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -DG_LOG_DOMAIN=\\\"GEGL-\\\"__FILE__ -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/babl-0.1 -I.. -I../gegl -I../gegl/buffer -I../gegl/buffer -I../gegl/property-types -I../gegl/property-types -I../gegl/operation -I../gegl/operation -I../gegl/opencl -I../gegl/opencl -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -c -o /var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.o /var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c
<command-line>:0:15: warning: missing terminating " character
/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c: In function ‘escaped_printf’:
/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c:58:7: error: stray ‘\’ in program
/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c:58:7: error: missing terminating " character
/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c:58:7: error: expected expression before ‘,’ token
/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c: In function ‘goutput_write’:
/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c:73:7: error: stray ‘\’ in program
/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c:73:7: error: missing terminating " character
/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c:73:7: error: expected expression before ‘,’ token
compilation of temporary binary failed:Command '['gcc', '-Wall', '-pthread', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-march=core2', '-msse4.1', '-O2', '-pipe', '-mmmx', '-msse', '-ftree-vectorize', '-ffast-math', '-Wall', '-Wdeclaration-after-statement', '-Wmissing-prototypes', '-Wmissing-declarations', '-Winit-self', '-Wpointer-arith', '-Wold-style-definition', '-DG_LOG_DOMAIN=\\"GEGL-\\"__FILE__', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-I/usr/include/babl-0.1', '-I..', '-I../gegl', '-I../gegl/buffer', '-I../gegl/buffer', '-I../gegl/property-types', '-I../gegl/property-types', '-I../gegl/operation', '-I../gegl/operation', '-I../gegl/opencl', '-I../gegl/opencl', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-c', '-o', '/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.o', '/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl/tmp-introspectasYSt8/Gegl-0.2.c']' returned non-zero exit status 1
make[3]: *** [Gegl-0.2.gir] Error 1
make[3]: Leaving directory `/var/tmp/portage/media-libs/gegl-0.2.0-r1/work/gegl-0.2.0/gegl'
====================================================
Comment 13 Sebastian Pipping gentoo-dev 2013-05-01 00:58:35 UTC
+  01 May 2013; Sebastian Pipping <sping@gentoo.org> base/package.use.mask:
+  Unmask ~media-libs/gegl-0.2.0[introspection] (bug #416587)
+