Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 228539 - xulrunner-1.9-r1 fails to build with libXrender-0.9.2
Summary: xulrunner-1.9-r1 fails to build with libXrender-0.9.2
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-20 14:06 UTC by Konstantin Sobolev
Modified: 2009-05-21 10:21 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin Sobolev 2008-06-20 14:06:27 UTC
xulrunner-1.9-r1 fails to compile for me:

i686-pc-linux-gnu-g++ -o gfxRect.o -c -I../../../dist/include/system_wrappers -include ../../../config/gcc_hidden.h -DIMPL_THEBES -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DGENTOO_LIB_DIR=\"/usr/lib\"  -I. -I. -I../../../dist/include/cairo -I../../../dist/include/string -I../../../dist/include/pref -I../../../dist/include/xpcom -I../../../dist/include/unicharutil -I../../../dist/include   -I../../../dist/include/thebes -I/usr/include/nspr     -I../../../dist/sdk/include    -fPIC  -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\"  -fno-rtti -fno-handle-exceptions  -Wconversion -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-long-long -march=pentium4 -mtune=pentium4 -pipe -Wno-return-type -w -fno-strict-aliasing -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -O2 -D_REENTRANT -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pixman-1   -D_REENTRANT -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pixman-1   -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/gtk-unix-print-2.0   -D_REENTRANT -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pixman-1    -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\"  -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/gfxRect.pp gfxRect.cpp
In file included from /usr/include/X11/extensions/Xrender.h:28,
                 from ../../../dist/include/system_wrappers/X11/extensions/Xrender.h:3,
                 from ../../../dist/include/thebes/gfxXlibSurface.h:44,
                 from gfxASurface.cpp:50:
/usr/include/X11/extensions/render.h:29: error: 'XID' does not name a type
/usr/include/X11/extensions/render.h:30: error: 'XID' does not name a type
/usr/include/X11/extensions/render.h:31: error: 'XID' does not name a type
/usr/include/X11/extensions/render.h:32: error: 'XID' does not name a type
In file included from ../../../dist/include/system_wrappers/X11/extensions/Xrender.h:3,
                 from ../../../dist/include/thebes/gfxXlibSurface.h:44,
                 from gfxASurface.cpp:50:
/usr/include/X11/extensions/Xrender.h:47: error: 'PictFormat' does not name a type
/usr/include/X11/extensions/Xrender.h:69: error: 'Picture' does not name a type
/usr/include/X11/extensions/Xrender.h:100: error: 'GlyphSet' does not name a type
/usr/include/X11/extensions/Xrender.h:108: error: 'GlyphSet' does not name a type
/usr/include/X11/extensions/Xrender.h:116: error: 'GlyphSet' does not name a type

etc

This seems to be a bug in libXrender-0.9.2, Xrender.h uses Xlib types without including <X11/Xlib.h>. 
At the same time I can't use libXrender-0.9.4 because my laptop has a GeForce 440go video, and thus I have to use legacy nvidia drivers:

!!! All ebuilds that could satisfy "=x11-libs/libXrender-0.9.4" have been masked.
!!! One of the following masked packages is required to complete your request:
- x11-libs/libXrender-0.9.4 (masked by: package.mask)
/etc/portage/package.mask:
#>=x11-drivers/nvidia-drivers-1.0.9700
Comment 1 Konstantin Sobolev 2008-06-20 14:38:28 UTC
proposed patch:

--- gfxXlibSurface.h    2008-06-20 18:18:13.000000000 +0400
+++ gfxXlibSurface.h.orig       2008-06-20 18:17:47.000000000 +0400
@@ -41,8 +41,8 @@

 #include "gfxASurface.h"

-#include <X11/Xlib.h>
 #include <X11/extensions/Xrender.h>
+#include <X11/Xlib.h>

 class THEBES_API gfxXlibSurface : public gfxASurface {
 public:
Comment 2 Raúl Porcel (RETIRED) gentoo-dev 2008-06-20 14:53:03 UTC
Please submit this upstream
Comment 3 genbug 2009-05-21 10:21:15 UTC
thanks to Konstantin for finding the problem. My Geforce card puts me in the same boat of masking >libXrender-0.9.2

I tried to epatch this into ebuild but I fails to find the file:

>> missing header for unified diff at line 3 of patch
>> can't find file to patch at input line 3

This is almost a year old on no fix forthcoming from upstream . Can't this trivial patch be included into the portage tree with a libXrender-0.9.2-r1.ebuild ?

Firefox is one of the packages I most like to keep upto date and this is blocking.

This actually makes it a security related bug.