Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 98828 - mozilla 1.7.8 does not compile with glitz 0.4 and cairo 0.5
Summary: mozilla 1.7.8 does not compile with glitz 0.4 and cairo 0.5
Status: RESOLVED REMIND
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
: 100344 104507 104575 106297 (view as bug list)
Depends on: 106713
Blocks:
  Show dependency tree
 
Reported: 2005-07-12 15:56 UTC by Ian Wilder
Modified: 2005-12-23 03:48 UTC (History)
10 users (show)

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


Attachments
ugly and incomplete patch, not even compile tested (moz-svg-renderer_newer_cairo.diff,4.90 KB, patch)
2005-08-03 20:18 UTC, Stephane Loeuillet
Details | Diff
2nd part of ugly patch (moz-svg-renderer_newer_cairo-2.diff,7.67 KB, patch)
2005-08-16 14:35 UTC, Hanno Zysik (geki)
Details | Diff
merged patchset (moz-svg-renderer_newer_cairo.diff,10.38 KB, patch)
2005-08-17 07:42 UTC, Hanno Zysik (geki)
Details | Diff
mozilla-firefox-1.0.6-r7.ebuild.patch (mozilla-firefox-1.0.6-r7.ebuild.patch,398 bytes, patch)
2005-09-21 02:50 UTC, Natanael Copa
Details | Diff
mozilla-1.7.11-r3.ebuild.patch (mozilla-1.7.11-r3.ebuild.patch,423 bytes, patch)
2005-09-21 05:43 UTC, Natanael Copa
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Wilder 2005-07-12 15:56:23 UTC
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
Comment 1 Stephane Loeuillet 2005-08-03 07:47:59 UTC
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 
Comment 2 Stephane Loeuillet 2005-08-03 07:47:59 UTC
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)
Comment 3 Stephane Loeuillet 2005-08-03 08:16:39 UTC
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)
Comment 4 Jory A. Pratt 2005-08-03 10:02:12 UTC
I have added 1.7.11 to the tree you can test with it.
Comment 5 Stephane Loeuillet 2005-08-03 19:04:02 UTC
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.
Comment 6 Stephane Loeuillet 2005-08-03 20:18:21 UTC
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
Comment 7 Stephane Loeuillet 2005-08-04 05:48:12 UTC
i just found this script that could help people interested in finishing the patch :
http://cvs.cairographics.org/*checkout*/cairo/util/cairo-api-update
Comment 8 Francisco José Cañizares Santofimia 2005-08-10 15:37:59 UTC
Interestingly, mozilla's next version will include his own cairo, so it will not
depend on system (external) cairo.
Comment 9 Stephane Loeuillet 2005-08-10 16:07:23 UTC
>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.
Comment 10 Hanno Zysik (geki) 2005-08-16 09:55:06 UTC
FYI, there is a --with-system-cairo configure switch. It fails with couldn't
find cairo.h then.
Comment 11 Hanno Zysik (geki) 2005-08-16 14:35:43 UTC
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. ^^
Comment 12 Hanno Zysik (geki) 2005-08-16 14:43:18 UTC
It just merged fine with system cairo for 'we are going to use-less-memory land. ;)
Comment 13 Francisco José Cañizares Santofimia 2005-08-16 16:09:54 UTC
(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....
Comment 14 Stephane Loeuillet 2005-08-16 16:15:32 UTC
(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
Comment 15 Francisco José Cañizares Santofimia 2005-08-16 17:19:08 UTC
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.
Comment 16 Hanno Zysik (geki) 2005-08-16 21:09:05 UTC
It would be quite sane to merge these two patches. Minimum one hunk of first
patch is wrong and fixed in second one.
Comment 17 Hanno Zysik (geki) 2005-08-17 07:42:46 UTC
Created attachment 66137 [details, diff]
merged patchset
Comment 18 Analyzer 2005-08-17 12:09:23 UTC
same here. mozilla and firefox-r5 wont compile with cairo. same error.
Comment 19 Gergan Penkov 2005-08-27 09:48:24 UTC
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.
Comment 20 Jakub Moc (RETIRED) gentoo-dev 2005-09-01 15:24:16 UTC
*** Bug 100344 has been marked as a duplicate of this bug. ***
Comment 21 Jakub Moc (RETIRED) gentoo-dev 2005-09-01 15:24:55 UTC
*** Bug 104507 has been marked as a duplicate of this bug. ***
Comment 22 Gergan Penkov 2005-09-08 13:23:39 UTC
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.
Comment 23 Hanno Zysik (geki) 2005-09-08 13:45:20 UTC
i used pango-1.10.0 as far as i can think of.
what version do you use?
Comment 24 Marcin Kaczmarek 2005-09-09 00:59:04 UTC
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.
Comment 25 Gergan Penkov 2005-09-11 18:15:11 UTC
(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. 
Comment 26 Natanael Copa 2005-09-21 02:48:27 UTC
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

Comment 27 Natanael Copa 2005-09-21 02:50:17 UTC
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.
Comment 28 Natanael Copa 2005-09-21 05:43:52 UTC
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.
Comment 29 Balint Dobai-Pataky 2005-09-21 12:09:35 UTC
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?
Comment 30 Natanael Copa 2005-09-21 12:29:26 UTC
(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.
Comment 31 Balint Dobai-Pataky 2005-09-21 12:49:18 UTC
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?
Comment 32 Balint Dobai-Pataky 2005-09-21 14:42:47 UTC
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
Comment 33 Sebastian Redl 2005-09-22 02:27:44 UTC
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.)
Comment 34 Martin Schlemmer (RETIRED) gentoo-dev 2005-09-25 16:08:57 UTC
*** Bug 106297 has been marked as a duplicate of this bug. ***
Comment 35 Martin Schlemmer (RETIRED) gentoo-dev 2005-09-25 16:20:25 UTC
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.
Comment 36 Jakub Moc (RETIRED) gentoo-dev 2005-12-23 03:48:20 UTC
*** Bug 104575 has been marked as a duplicate of this bug. ***