Created attachment 451915 [details] build.log FEATURES="-ccache" MAKEOPTS="-j1" emerge -vat1 cairo These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild R *] x11-libs/cairo-9999::gentoo USE="X glib opengl svg xcb (-aqua) -debug (-directfb) (-gles2) -static-libs -valgrind -xlib-xcb" ABI_X86="32 (64) (-x32)" 0 KiB Total: 1 package (1 reinstall), Size of downloads: 0 KiB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 1) x11-libs/cairo-9999::gentoo cairo (version 1.15.2 [snapshot]) will be compiled with: The following surface backends: Image: yes (always builtin) Recording: yes (always builtin) Observer: yes (always builtin) Mime: yes (always builtin) Tee: yes XML: no (disabled, use --enable-xml to enable) Skia: no (disabled, use --enable-skia to enable) Xlib: yes Xlib Xrender: yes Qt: no (disabled, use --enable-qt to enable) Quartz: no (disabled, use --enable-quartz to enable) Quartz-image: no (disabled, use --enable-quartz-image to enable) XCB: yes Win32: no (requires a Win32 platform) OS2: no (disabled, use --enable-os2 to enable) CairoScript: yes PostScript: yes PDF: yes SVG: yes OpenGL: yes OpenGL ES 2.0: no (disabled, use --enable-glesv2 to enable) BeOS: no (disabled, use --enable-beos to enable) DirectFB: no (disabled, use --enable-directfb to enable) OpenVG: no (disabled, use --enable-vg to enable) DRM: no (disabled, use --enable-drm to enable) Cogl: no (disabled, use --enable-cogl to enable) The following font backends: User: yes (always builtin) FreeType: yes Fontconfig: yes Win32: no (requires a Win32 platform) Quartz: no (disabled, use --enable-quartz to enable) The following functions: PNG functions: yes GLX functions: yes WGL functions: no (WGL headers not found) EGL functions: yes X11-xcb functions: no (disabled, use --enable-xlib-xcb to enable) XCB-shm functions: yes The following features and utilities: cairo-trace: yes cairo-script-interpreter: yes And the following internal features: pthread: yes gtk-doc: no gcov support: no symbol-lookup: no (requires bfd) test surfaces: no (disabled, use --enable-test-surfaces to enable) ps testing: no (requires libspectre) pdf testing: no (requires poppler-glib >= 0.17.4) svg testing: no (requires librsvg-2.0 >= 2.35.0) --- The OpenGL surface backend feature is still under active development and --- is included in this release only as a preview. It does NOT fully work yet --- and incompatible changes may yet be made to OpenGL surface backend --- specific API. --- The tee surface backend feature is still under active development and is --- included in this release only as a preview. It does NOT fully work yet ... /bin/sh ../libtool --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src -I.. -I/var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src -D_REENTRANT -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libdrm -I/usr/include/libpng16 -Wall -Wextra -Wmissing-declarations -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wno-unused-but-set-variable -march=native -O2 -pipe -c -o cairo-gl-gradient.lo /var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src/cairo-gl-gradient.c libtool: compile: x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src -I.. -I/var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src -D_REENTRANT -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libdrm -I/usr/include/libpng16 -Wall -Wextra -Wmissing-declarations -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wno-unused-but-set-variable -march=native -O2 -pipe -c /var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src/cairo-gl-gradient.c -fPIC -DPIC -o .libs/cairo-gl-gradient.o /var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src/cairo-gl-gradient.c: In function ‘_cairo_gl_gradient_create’: /var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src/cairo-gl-gradient.c:285:36: error: ‘CAIRO_GL_FLAVOR_ES’ undeclared (first use in this function) if (_cairo_gl_get_flavor () == CAIRO_GL_FLAVOR_ES) ^~~~~~~~~~~~~~~~~~ /var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999/src/cairo-gl-gradient.c:285:36: note: each undeclared identifier is reported only once for each function it appears in make[3]: *** [Makefile:2355: cairo-gl-gradient.lo] Error 1 make[3]: Leaving directory '/var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999-abi_x86_32.x86/src' make[2]: *** [Makefile:1950: all] Error 2 make[2]: Leaving directory '/var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999-abi_x86_32.x86/src' make[1]: *** [Makefile:902: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/x11-libs/cairo-9999/work/cairo-9999-abi_x86_32.x86' make: *** [Makefile:753: all] Error 2 * ERROR: x11-libs/cairo-9999::gentoo failed (compile phase): * emake failed *
As the last successful emerge was on 25. October it must have something to do with that commit: https://cgit.freedesktop.org/cairo/commit/?id=eb5232002b16193d5ba6c1450d80616914fd9917 gl: Treat GLES v2 as a separate flavor from GLES v3HEADmaster To support differentiating between GLES v2 and v3, rename the flavor enum to be version specific, as CAIRO_GL_FLAVOR_ES2. Then, when GLES v3 support is introduced we can add it as a distinct flavor enum (i.e. CAIRO_GL_FLAVOR_ES3). Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Created attachment 451921 [details, diff] CAIRO_GL_FLAVOR_ES2.patch diff --git a/src/cairo-gl-gradient.c b/src/cairo-gl-gradient.c index ac32921..db82c23 100644 --- a/src/cairo-gl-gradient.c +++ b/src/cairo-gl-gradient.c @@ -282,7 +282,7 @@ _cairo_gl_gradient_create (cairo_gl_context_t *ctx, * In OpenGL ES 2.0 no format conversion is allowed i.e. 'internalFormat' * must match 'format' in glTexImage2D. */ - if (_cairo_gl_get_flavor () == CAIRO_GL_FLAVOR_ES) + if (_cairo_gl_get_flavor () == CAIRO_GL_FLAVOR_ES2) internal_format = GL_BGRA; else internal_format = GL_RGBA;
Thank you for diagnosing and fixing the bug. Please contribute the patch upstream by mailing it to cairo@cairographics.org. For a variety of reasons we prefer not to patch live ebuilds. Most of all because when the bug is actually fixed upstream, the build will be broken a second time.
fixed upstream: https://cgit.freedesktop.org/cairo/commit/?id=3f1a6f7225e31057a8af9313f051a1d311df0c69 gl: Fix one more CAIRO_GL_FLAVOR_ES3 enum