When I try to compile mozilla-1.7.8-r1 with glitz-0.4.0 and cairo-0.5.1 installed, I get this: nsSVGCairoPathGeometry.cpp i686-pc-linux-gnu-g++ -o nsSVGCairoPathGeometry.o -c -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -I../../../../../gfx/src -I../../../../../gfx/src/gtk -I../../../../../dist/include/xpcom -I../../../../../dist/include/widget -I../../../../../dist/include/pref -I../../../../../dist/include/gfx -I../../../../../dist/include/imglib2 -I../../../../../dist/include/string -I../../../../../dist/include/dom -I../../../../../dist/include/content -I../../../../../dist/include/necko -I../../../../../dist/include/util -I../../../../../dist/include/uconv -I../../../../../dist/include/windowwatcher -I../../../../../dist/include/layout -I../../../../../dist/include -I/var/tmp/portage/mozilla-1.7.8-r1/work/mozilla/dist/include/nspr -fPIC -fno-rtti -fno-handle-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=pentium4 -pipe -Wno-deprecated -Wno-return-type -w -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -O2 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/libpng12 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DMOZILLA_CLIENT -include ../../../../../mozilla-config.h -Wp,-MD,.deps/nsSVGCairoPathGeometry.pp nsSVGCairoPathGeometry.cpp nsSVGCairoPathGeometry.cpp: In member function `void nsSVGCairoPathGeometry::GeneratePath(cairo_t*)': nsSVGCairoPathGeometry.cpp:169: error: `cairo_matrix_create_DEPRECATED_BY_cairo_matrix_t' undeclared (first use this function) nsSVGCairoPathGeometry.cpp:169: error: (Each undeclared identifier is reported only once for each function it appears in.) nsSVGCairoPathGeometry.cpp:170: error: `cairo_matrix_set_affine_REPLACED_BY_cairo_matrix_init' undeclared (first use this function) nsSVGCairoPathGeometry.cpp:171: error: `cairo_concat_matrix_REPLACED_BY_cairo_transform' undeclared (first use this function) nsSVGCairoPathGeometry.cpp: In member function `virtual nsresult nsSVGCairoPathGeometry::Render(nsISVGRendererCanvas*)': nsSVGCairoPathGeometry.cpp:218: error: `cairo_set_rgb_color_REPLACED_BY_cairo_set_source_rgb' undeclared (first use this function) nsSVGCairoPathGeometry.cpp:219: error: `cairo_set_alpha_DEPRECATED_BY_cairo_set_source_rgba_OR_cairo_paint_with_alpha' undeclared (first use this function) nsSVGCairoPathGeometry.cpp: In member function `virtual nsresult nsSVGCairoPathGeometry::ContainsPoint(float, float, PRBool*)': /usr/include/cairo/cairo.h:199: error: too few arguments to function `cairo_t* cairo_create(cairo_surface_t*)' nsSVGCairoPathGeometry.cpp:324: error: at this point in file nsSVGCairoPathGeometry.cpp:327: error: `cairo_default_matrix_REPLACED_BY_cairo_identity_matrix' undeclared (first use this function) gmake[6]: *** [nsSVGCairoPathGeometry.o] Error 1 gmake[6]: *** Waiting for unfinished jobs.... nsSVGCairoCanvas.cpp: In member function `nsresult nsSVGCairoCanvas::Init(nsIRenderingContext*, nsIPresContext*, const nsRect&)': /usr/include/cairo/cairo.h:199: error: too few arguments to function `cairo_t* cairo_create(cairo_surface_t*)' nsSVGCairoCanvas.cpp:119: error: at this point in file nsSVGCairoCanvas.cpp:122: error: `cairo_set_target_drawable_DEPRECATED_BY_cairo_xlib_surface_create' undeclared (first use this function) nsSVGCairoCanvas.cpp:122: error: (Each undeclared identifier is reported only once for each function it appears in.) nsSVGCairoCanvas.cpp: In member function `virtual nsresult nsSVGCairoCanvas::Clear(nscolor)': nsSVGCairoCanvas.cpp:208: error: `cairo_set_rgb_color_REPLACED_BY_cairo_set_source_rgb' undeclared (first use this function) gmake[6]: *** [nsSVGCairoCanvas.o] Error 1 gmake[6]: Leaving directory `/var/tmp/portage/mozilla-1.7.8-r1/work/mozilla/layout/svg/renderer/src/cairo' gmake[5]: *** [libs] Error 2 gmake[5]: Leaving directory `/var/tmp/portage/mozilla-1.7.8-r1/work/mozilla/layout/svg/renderer/src' gmake[4]: *** [libs] Error 2 gmake[4]: Leaving directory `/var/tmp/portage/mozilla-1.7.8-r1/work/mozilla/layout/svg/renderer' gmake[3]: *** [libs] Error 2 gmake[3]: Leaving directory `/var/tmp/portage/mozilla-1.7.8-r1/work/mozilla/layout/svg' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/var/tmp/portage/mozilla-1.7.8-r1/work/mozilla/layout' gmake[1]: *** [tier_9] Error 2 gmake[1]: Leaving directory `/var/tmp/portage/mozilla-1.7.8-r1/work/mozilla' make: *** [default] Error 2 !!! ERROR: www-client/mozilla-1.7.8-r1 failed. !!! Function src_compile, Line 173, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message. Reproducible: Always Steps to Reproduce: 1.emerge glitz-0.4.0 2.emerge cairo-0.5.1 3.emerge mozilla-1.7.8-r1 Actual Results: compilation failure Expected Results: sucessfull compile Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.12-gentoo-r4 i686) ================================================================= System uname: 2.6.12-gentoo-r4 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 1.70GHzGentoo Base System version 1.6.12 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [disabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -pipe -fomit-frame-pointer -O3" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -pipe -fomit-frame-pointer -O3" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LC_ALL="en_US.utf8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays/ian-custom" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 S3TC X Xaw3d a52 aac acpi aim alsa apache2 apm audiofile authdaemond avi berkdb bitmap-fonts bmp bonobo bzip2 bzlib cairo cdda cddb cdinstall cdio cdparanoia cdr cdrom cgi chroot cjk codecs crypt css csv cups curl cyrus dba dbase dbus dga directfb dlloader dnd eds emacs emboss encode esd evo evo2 exif faac faad fam fastcgi fbcon ffmpeg flac font-server fortran ftp gd gdbm gif gimp gimpprint glade glitz gmail gnome gpm gs gstreamer gtk gtk2 gtkhtml hal imagemagick imap imlib imlib2 ipv6 javascript jikes joystick jpeg jpeg2k kerberos lame lcms ldap libcaca libg++ libgda libwww mad maildir mbox mdb mikmod mime mng motif mozilla moznocompose moznoirc moznomail mozsvg mp3 mpeg mpeg4 mplayer mpm-worker music mysql ncurses net nls nptl nvidia ogg oggvorbis openal opengl oscar oss pam pango pcmcia pdf pdflib perl php png posix python quicktime rar readline real rhythmbox rogue ruby samba sdl sounds spell sql sse sse2 ssl stream svg svga svgz symlink tcltk tcpd theora threads tiff timidity transcode truetype truetype-fonts type1-fonts unicode utf8 v4l v4l2 vhosts videos vorbis winbind wmf wxwindows xatrix xine xml xml2 xmms xscreensaver xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS
well, i suppose i could add this to your bug report : mozilla 1.7.10-r3 USE="mozsvg" won't compile with cairo 0.6.0 : gmake[6]: Entering directory `/var/tmp/portage/mozilla-1.7.10-r3/work/mozilla/layout/svg/renderer/src/cairo' nsSVGRendererCairo.cpp i686-pc-linux-gnu-g++ -o nsSVGRendererCairo.o -c -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -I../../../../../gfx/src -I../../../../../gfx/src/gtk -I../../../../../dist/include/xpcom -I../../../../../dist/include/widget -I../../../../../dist/include/pref -I../../../../../dist/include/gfx -I../../../../../dist/include/imglib2 -I../../../../../dist/include/string -I../../../../../dist/include/dom -I../../../../../dist/include/content -I../../../../../dist/include/necko -I../../../../../dist/include/util -I../../../../../dist/include/uconv -I../../../../../dist/include/windowwatcher -I../../../../../dist/include/layout -I../../../../../dist/include -I/var/tmp/portage/mozilla-1.7.10-r3/work/mozilla/dist/include/nspr -fPIC -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -fno-rtti -fno-handle-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=athlon-xp -pipe -Wno-deprecated -Wno-return-type -w -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -O2 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/libpng12 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -DMOZILLA_CLIENT -include ../../../../../mozilla-config.h -Wp,-MD,.deps/nsSVGRendererCairo.pp nsSVGRendererCairo.cpp nsSVGCairoCanvas.cpp i686-pc-linux-gnu-g++ -o nsSVGCairoCanvas.o -c -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -I../../../../../gfx/src -I../../../../../gfx/src/gtk -I../../../../../dist/include/xpcom -I../../../../../dist/include/widget -I../../../../../dist/include/pref -I../../../../../dist/include/gfx -I../../../../../dist/include/imglib2 -I../../../../../dist/include/string -I../../../../../dist/include/dom -I../../../../../dist/include/content -I../../../../../dist/include/necko -I../../../../../dist/include/util -I../../../../../dist/include/uconv -I../../../../../dist/include/windowwatcher -I../../../../../dist/include/layout -I../../../../../dist/include -I/var/tmp/portage/mozilla-1.7.10-r3/work/mozilla/dist/include/nspr -fPIC -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -fno-rtti -fno-handle-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=athlon-xp -pipe -Wno-deprecated -Wno-return-type -w -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -O2 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/libpng12 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -DMOZILLA_CLIENT -include ../../../../../mozilla-config.h -Wp,-MD,.deps/nsSVGCairoCanvas.pp nsSVGCairoCanvas.cpp nsSVGCairoCanvas.cpp: In member function `nsresult nsSVGCairoCanvas::Init(nsIRenderingContext*, nsIPresContext*, const nsRect&)': /usr/include/cairo/cairo.h:231: erreur: pas assez d'argument pour function
well, i suppose i could add this to your bug report : mozilla 1.7.10-r3 USE="mozsvg" won't compile with cairo 0.6.0 : gmake[6]: Entering directory `/var/tmp/portage/mozilla-1.7.10-r3/work/mozilla/layout/svg/renderer/src/cairo' nsSVGRendererCairo.cpp i686-pc-linux-gnu-g++ -o nsSVGRendererCairo.o -c -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -I../../../../../gfx/src -I../../../../../gfx/src/gtk -I../../../../../dist/include/xpcom -I../../../../../dist/include/widget -I../../../../../dist/include/pref -I../../../../../dist/include/gfx -I../../../../../dist/include/imglib2 -I../../../../../dist/include/string -I../../../../../dist/include/dom -I../../../../../dist/include/content -I../../../../../dist/include/necko -I../../../../../dist/include/util -I../../../../../dist/include/uconv -I../../../../../dist/include/windowwatcher -I../../../../../dist/include/layout -I../../../../../dist/include -I/var/tmp/portage/mozilla-1.7.10-r3/work/mozilla/dist/include/nspr -fPIC -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -fno-rtti -fno-handle-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=athlon-xp -pipe -Wno-deprecated -Wno-return-type -w -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -O2 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/libpng12 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -DMOZILLA_CLIENT -include ../../../../../mozilla-config.h -Wp,-MD,.deps/nsSVGRendererCairo.pp nsSVGRendererCairo.cpp nsSVGCairoCanvas.cpp i686-pc-linux-gnu-g++ -o nsSVGCairoCanvas.o -c -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -I../../../../../gfx/src -I../../../../../gfx/src/gtk -I../../../../../dist/include/xpcom -I../../../../../dist/include/widget -I../../../../../dist/include/pref -I../../../../../dist/include/gfx -I../../../../../dist/include/imglib2 -I../../../../../dist/include/string -I../../../../../dist/include/dom -I../../../../../dist/include/content -I../../../../../dist/include/necko -I../../../../../dist/include/util -I../../../../../dist/include/uconv -I../../../../../dist/include/windowwatcher -I../../../../../dist/include/layout -I../../../../../dist/include -I/var/tmp/portage/mozilla-1.7.10-r3/work/mozilla/dist/include/nspr -fPIC -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -fno-rtti -fno-handle-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=athlon-xp -pipe -Wno-deprecated -Wno-return-type -w -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -O2 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/libpng12 -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/freetype2/config -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -DMOZILLA_CLIENT -include ../../../../../mozilla-config.h -Wp,-MD,.deps/nsSVGCairoCanvas.pp nsSVGCairoCanvas.cpp nsSVGCairoCanvas.cpp: In member function `nsresult nsSVGCairoCanvas::Init(nsIRenderingContext*, nsIPresContext*, const nsRect&)': /usr/include/cairo/cairo.h:231: erreur: pas assez d'argument pour function « cairo_t* cairo_create(cairo_surface_t*) » nsSVGCairoCanvas.cpp:119: erreur: à ce point dans le fichier nsSVGCairoCanvas.cpp:122: erreur: « cairo_set_target_drawable_DEPRECATED_BY_cairo_xlib_surface_create » non déclaré (première utilisation dans cette fonction) nsSVGCairoCanvas.cpp:122: erreur: (Chaque identificateur non déclaré est rapporté seulement une seule fois pour la fonction dans laquelle il apparaît.) nsSVGCairoCanvas.cpp: In member function `virtual nsresult nsSVGCairoCanvas::Clear(nscolor)': nsSVGCairoCanvas.cpp:208: erreur: « cairo_set_rgb_color_REPLACED_BY_cairo_set_source_rgb » non déclaré (première utilisation dans cette fonction) gmake[6]: *** [nsSVGCairoCanvas.o] Erreur 1 from ./configure --help : --enable-svg Enable SVG support --enable-svg-renderer-gdiplus Enable SVG gdi+ renderer --enable-svg-renderer-libart Enable SVG libart renderer --enable-svg-renderer-cairo Enable SVG cairo renderer so, for now, as long as mozilla 1.7.x SVG-Cairo code isn't fixed, better put : --enable-svg --enable-svg-renderer-libart --disable-svg-renderer-cairo and of course add libart-lgpl to deps (and remove cairo from it, or put a version number in requirement) (unless 1.7.11, which is out, has this fixed)
looks like mozilla-firefox-1.0.6-r4 suffers from the same problem. so, cairo renderer should be disabled in both mozilla and mozilla-firefox until fixed upstream to work against cairo 0.6.0 (cairo 0.6.0 would be unmasked as soon as gtk+ 2.8 is out (planned release date for it was 2 days ago) other way to do it : in deps for use flag "mozsvg", put "<x11-libs/cairo-0.5" as cairo is not slotable/slotted actually (no parallel install for 0.4/0.5.x/0.6)
I have added 1.7.11 to the tree you can test with it.
well, 1.7.11 is also affected, as in this directory : mozilla\layout\svg\renderer\src\cairo\ : the last change occured on 2004-03-17 no surprise there as firefox 1.0.6 is based on gecko 1.7.11 ------- lets hope that firefox 1.5 / gecko 1.8 won't be too long to come (cairo to render svg & canvas) or even better, gecko 1.9, which would use cairo to render everything (including html/css) so, unless we find someone willing to patch gecko 1.7 cairo-svg renderer to be compatible with cairo 0.5/0.6, you'll have to disable it. i already did some basic changes in my local copy (to accomodate most API changes). but i'm not a cairo guru, i just managed to change some calls looking at cairo NEWS file that lists all API changes that occured, mosty in 0.5.0 i'll try to post this uncomplete patch later tonight (already 4AM here) in the hope that someone else would finish it.
Created attachment 65040 [details, diff] ugly and incomplete patch, not even compile tested 3 cairo_create(void) remain unchanged as i didn't know which function to choose in those cases : nsSVGCairoGlyphGeometry.cpp: cairo_t *ctx = cairo_create(); nsSVGCairoPathGeometry.cpp: cairo_t *ctx = cairo_create(); nsSVGCairoGlyphMetrics.cpp: mCT = cairo_create() perhaps i forgot some other API changes elsewhere. A cairo literate person should check
i just found this script that could help people interested in finishing the patch : http://cvs.cairographics.org/*checkout*/cairo/util/cairo-api-update
Interestingly, mozilla's next version will include his own cairo, so it will not depend on system (external) cairo.
>Interestingly, mozilla's next version will include his own cairo, >so it will not depend on system (external) cairo. cool, one more staticaly linked copy of an external lib bundled into mozilla source tree, as if it wasn't already full of crap. i thought we were all going to use-less-memory land. looks like i was mistaken.
FYI, there is a --with-system-cairo configure switch. It fails with couldn't find cairo.h then.
Created attachment 66102 [details, diff] 2nd part of ugly patch Lazy as I am I applied the patch from Stephane LOEUILLET. Then I took a look at Mozillas CVS and how they fixed it. The product you have here. BTW, this patch has no backports! Only API changes likewise upstream did. PS, to enable system cairo support, --enable-system-cairo has to be set via 'mozconfig_use_enable mozsvg system-cairo'. I am used to --with-system-bla from OOo2 hacking. ^^
It just merged fine with system cairo for 'we are going to use-less-memory land. ;)
(In reply to comment #11) > It just merged fine with system cairo for 'we are going to use-less-memory land. ;) At this moment, mozilla uses system cairo. Mozilla 1.8 will start using his own cairo, and I think gentoo should use that feature to avoid bugs like this. Mainly, because Cairo is now in 0.9.2... Imagine gentoo should use a new patch every time a new Cairo version is released....
(In reply to comment #12) > At this moment, mozilla uses system cairo. Mozilla 1.8 will start using his own > cairo, and I think gentoo should use that feature to avoid bugs like this. > Mainly, because Cairo is now in 0.9.2... Imagine gentoo should use a new patch > every time a new Cairo version is released.... this is not a problem because : from 0.5.0, API is frozen (for the full 1.x branch), you'll only see API additions up to 2.x code done for cairo 0.5.0 works/would work for 0.5.1/0.5.2/0.9.0/0.9.2=>1.99999
Please, include those patches into portage. if has_version '>=x11-libs/cairo-0.6.0'; then epatch ${PORTDIR}/www-client/mozilla-firefox/files/cairo1.diff epatch ${PORTDIR}/www-client/mozilla-firefox/files/cairo2.diff fi before this: # Patch for newer versions of cairo #80301 if has_version '>=x11-libs/cairo-0.3.0'; then epatch ${FILESDIR}/svg-cairo-0.3.0-fix.patch fi should be fine. cairo1.diff is: ugly and incomplete patch, not even compile tested and cairo2.diff is: 2nd part of ugly patch Thanks.
It would be quite sane to merge these two patches. Minimum one hunk of first patch is wrong and fixed in second one.
Created attachment 66137 [details, diff] merged patchset
same here. mozilla and firefox-r5 wont compile with cairo. same error.
So about to some comments, mozilla includes all sort of stuff, which they could gather, but I don't think they understand it (i mean mozilla). As of now in my experience - the last included cairo in deeppark and cvs-head is something greater than 0.5 ;;)), but when built with pango support (which pulls the system cairo headers, if you want it or not :) the things break totally, if not using the system-supplied-cairo and if using them they will break (sometimes, for example if using svg-renderer=cairo), because not all the makefiles are updated. They are building also own iconv-library and so on... So the result of this is to have system-cairo=mozilla-cairo ::)) or patch the damn thing! Thanks to Hanno Meyer-Thurow for pointing me this, I'll try the patches.
*** Bug 100344 has been marked as a duplicate of this bug. ***
*** Bug 104507 has been marked as a duplicate of this bug. ***
I've tried the patch for gecko-sdk rpath patch as in bug #104273 And it works (mplayerplug-in explicitely linked to gecko-sdk works without problems), although I don't know what is used from cairo in gecko-sdk, it installs only the nss/nspr libraries. The problem is and I didn't test it (with the old versions), that the new pango will also break the compilation and I don't think there is an easy patch for this, because even the mozilla cvs-head is not fully patched for it. Fedora uses deeppark-alpha in the testing-branch and probably will be moving to the firefox-1.5beta. So Gnome-2.12 could not be installed if we stay with firefox-1.0.6 or we should build it without cairo and pango or slotting somehow cairo and pango.
i used pango-1.10.0 as far as i can think of. what version do you use?
I used pango-1.10.0, cairo 1.0, gtk+-2.8.3 - Deer Park Alpha 2 works fine - I used www.breakmygentoo.org ebuild.
(In reply to comment #22) > i used pango-1.10.0 as far as i can think of. > what version do you use? 1.10.0 too, Ok, it is probably possible (I've looked now the headers and it seems that the old api stays - I mean pango_xft), I had doubts because the firefox-1.5b1 needs patching because of some old api calls (it uses pango_cairo most of the times), which compiles fine but after that die at run time with unresolved symbols on some sites, probably it was because of this mix of calls.
I can confirm that the merged patchset worked here with mozilla-firefox-1.0.6-r7 --debug +gnome +ipv6 +java -mozcalendar +mozdevelop -moznoxft +mozsvg +truetype -xinerama +xprint compiled and runs against cairo-1.0.0-r2
Created attachment 68919 [details, diff] mozilla-firefox-1.0.6-r7.ebuild.patch patch to mozilla-firefox-1.0.6-r7.ebuild to apply the merged patchset.
Created attachment 68930 [details, diff] mozilla-1.7.11-r3.ebuild.patch patch for mozilla-1.7.11-r3.ebuild to apply the "merged patchset". I vote for getting those patches into the portage tree. They don't hurt if you have older cairo and they are helping the gnome 2.12 progress.
i have synced portage tree, reemerge mozilla and firefox, i saw emerge applying the mozilla-1.7.11-r3.ebuild.patch, but make exited with the previously mentioned error. what am i doing wrong?
(In reply to comment #28) > i have synced portage tree, reemerge mozilla and firefox, > i saw emerge applying the mozilla-1.7.11-r3.ebuild.patch, > but make exited with the previously mentioned error. > what am i doing wrong? After a quick review i notice the following: * reporter used cairo-0.5.1 * comment #1 and comment #14 mentiones cairo-0.6.0 So I wonder what version of cairo do you use? You could try replacing cairo-0.6.0 in the ebuild to your version.
cairo 1.0.0-r2 , that's what gnome 2.12 asked for. in the evuild i find that if cairo version > 0.3.0 then patch. for me this should be true, as for 0.6.0. which file should i modify?
sorry, i missunderstood. first i thought the patches are in the portage tree. now i have an emerge running mozilla again. the patches do work. thanks
Installing a newer cairo (mine was 1.0) also makes existing Mozilla/Firefox installations fail to start. Either Cairo gets slotted, or the Gecko builds must block higher Cairo versions. (And vice versa.)
*** Bug 106297 has been marked as a duplicate of this bug. ***
I opted for now to rather not bind mozilla to cairo and its rather unstable api. Also, the current stable releases' svg support is rather lacking, so libart should be fine. The next mozilla-1.7.12 and firefox-1.0.7 will use libart.
*** Bug 104575 has been marked as a duplicate of this bug. ***