Closed Bug 316845 Opened 15 years ago Closed 15 years ago

Build error in gfx/cairo/libpixman/src/fbpict.c: symbol `_cairo_pixman_composite' is already defined

Categories

(Core :: Graphics, defect)

1.8 Branch
x86
Linux
defect
Not set
blocker

Tracking

()

VERIFIED FIXED

People

(Reporter: hidenosuke, Assigned: mozbugs)

References

Details

(Keywords: verified1.8.0.4, verified1.8.1)

Attachments

(1 file)

gcc -o fbpict.o -c  -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=0000000000 -I.  -I../../../../dist/include/libpixman -I../../../../dist/include -I../../../../dist/include/nspr    -I../../../../dist/sdk/include -I/usr/X11R6/include   -fPIC -I/usr/X11R6/include -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Wno-long-long -pedantic -pthread -pipe  -DNDEBUG -DTRIMMED -O2  -I/usr/X11R6/include -include ../../../../mozilla-config.h -DMOZILLA_CLIENT -Wp,-MD,.deps/fbpict.pp fbpict.c
fbpict.c: In function '_cairo_pixman_composite':
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_CLEAR' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_DST' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_OVER_REVERSE' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_IN' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_IN_REVERSE' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_OUT' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_OUT_REVERSE' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_ATOP' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_ATOP_REVERSE' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_XOR' not handled in switch
fbpict.c:1421: warning: enumeration value 'PIXMAN_OPERATOR_SATURATE' not handled in switch
fbpict.c:1870: warning: comparison between signed and unsigned
fbpict.c:1876: warning: comparison between signed and unsigned
fbpict.c:1885: warning: comparison between signed and unsigned
fbpict.c:1891: warning: comparison between signed and unsigned
{standard input}: Assembler messages:
{standard input}:5717: Error: symbol `_cairo_pixman_composite' is already defined

.mozconfig is follows
mk_add_options MOZ_CO_PROJECT=browser
# Options for 'configure' (same as command-line options).
ac_add_options --enable-application=browser
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --enable-xft
ac_add_options --disable-freetype2
ac_add_options --enable-pango
ac_add_options --enable-svg
ac_add_options --enable-cairo
ac_add_options --enable-canvas
ac_add_options --enable-static
ac_add_options --disable-shared
ac_add_options --enable-optimize='-O2'

Debian GNU/Linux Sid, gcc 4.0.2-4
This fixes breakage seen with newer binutils. This is already in upstream cairo CVS.
I can build with the patch(attachment 203761 [details] [diff] [review]).
Thanks for your help.

Can anyoune check in the patch, or must I wait new cairo source 
into the mozilla source code tree?
I'm also seeing:

gcc -o icformat.o -c  -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Li
nux\" -DBUILD_ID=2005112105 -I.  -I../../../../dist/include/libpixman -I../../..
/../dist/include -I../../../../dist/include/nspr    -I../../../../dist/sdk/inclu
de    -fPIC  -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Wno-long-long -p
edantic -pthread -pipe  -DNDEBUG -DTRIMMED -O2 -march=i686   -include ../../../.
./mozilla-config.h -DMOZILLA_CLIENT -Wp,-MD,.deps/icformat.pp icformat.c
{standard input}: Assembler messages:
{standard input}:160: Error: symbol `_cairo_pixman_color_to_pixel' is already de
fined
make[6]: *** [iccolor.o] Error 1
make[6]: *** Waiting for unfinished jobs....
icformat.c: In function ‘_cairo_pixman_format_init’:
icformat.c:106: warning: signed and unsigned type in conditional expression
icformat.c:112: warning: signed and unsigned type in conditional expression
icformat.c:116: warning: signed and unsigned type in conditional expression
icformat.c:119: warning: signed and unsigned type in conditional expression
icformat.c:125: warning: signed and unsigned type in conditional expression
icformat.c:131: warning: signed and unsigned type in conditional expression
icformat.c:135: warning: signed and unsigned type in conditional expression
icformat.c:138: warning: signed and unsigned type in conditional expression
icformat.c:145: warning: signed and unsigned type in conditional expression
{standard input}: Assembler messages:
{standard input}:5681: Error: symbol `_cairo_pixman_composite' is already define
d
make[6]: *** [fbpict.o] Error 1
make[5]: *** [libs] Error 2
make[5]: Leaving directory `/usr/local/src/mozilla/cvs/mozilla/gfx/cairo'


related?
This will be fixed on the trunk shortly; I'm waiting to sync up a few windows/linux fixes, and then I'll merge the current status of the cairo work to the trunk.
Component: General → GFX: Thebes
Product: Firefox → Core
QA Contact: general → thebes
Version: unspecified → Trunk
Calum, I think your problem is the same as this.
Try the patch to fix.
I am seeing this build error on the 1.8 Branch when compiling on linux.
Today I checkout all source codes again
and build Firefox on the same environment as comment 0.
No error happened without the patch.
Is this fixed?
(In reply to comment #7)
> Today I checkout all source codes again
> and build Firefox on the same environment as comment 0.
> No error happened without the patch.
> Is this fixed?
> 

This is fixed on the trunk but not the 1.8 branch.  The version on this bug should probably be changed from Trunk to 1.8 Branch by someone with sufficient bugzilla privileges.
Version: Trunk → 1.8 Branch
*** Bug 323420 has been marked as a duplicate of this bug. ***
*** Bug 327720 has been marked as a duplicate of this bug. ***
This should probably block 1.8.1 since it breaks Firefox with SVG using gcc4.

Vlad, what are your plans for the 1.8 branch? Will you sync cairo from the trunk soon, or should we check in this patch in the meantime?
Severity: normal → blocker
Flags: blocking1.8.1?
Summary: Build error : symbol `_cairo_pixman_composite' is already defined → Build error in gfx/cairo/libpixman/src/fbpict.c: symbol `_cairo_pixman_composite' is already defined
There are no current plans to touch the version of cairo on the 1.8.1 branch; it's probably worth taking the patch.
Attachment #203761 - Flags: review?(vladimir)
Attachment #203761 - Flags: approval-branch-1.8.1?(vladimir)
Comment on attachment 203761 [details] [diff] [review]
Patch to fix the issue

I can't a+ this, but we'll need this  to build.
Attachment #203761 - Flags: review?(vladimir)
Attachment #203761 - Flags: review+
Attachment #203761 - Flags: approval-branch-1.8.1?(vladimir)
Attachment #203761 - Flags: approval-branch-1.8.1?(shaver)
(In reply to comment #13)
You just have to be a module owner to approve 1.8.1 branch.
See http://developer.mozilla.org/devnews/index.php/2006/01/30/tree-rules-for-the-18-branch/
Hence you (or pavlov) can approve this without trouble with drivers.
> I can't a+ this, but we'll need this  to build.
Feel free to a+ if you need :-)

BTW, isn't a superreview required to checkin to the cairo and thebes?
Comment on attachment 203761 [details] [diff] [review]
Patch to fix the issue

a=me for 1.8.1
Attachment #203761 - Flags: approval-branch-1.8.1?(shaver) → approval-branch-1.8.1+
Flags: blocking1.8.0.3?
How about the 1.8.0 branch? I just hit it there.
trunk doesn't need a=. I'll check it in today
(In reply to comment #14)
> BTW, isn't a superreview required to checkin to the cairo and thebes?
> 

we're on a r+sr system (from me or vlad) similar to layout and such.  if the r= isn't one of us please get a sr=.
checked in
Checking in pixman-remap.h;
/cvsroot/mozilla/gfx/cairo/libpixman/src/pixman-remap.h,v  <--  pixman-remap.h
new revision: 1.1.6.3; previous revision: 1.1.6.2
done
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Flags: blocking1.8.1?
Keywords: fixed1.8.1
(In reply to comment #17)
> trunk doesn't need a=. I'll check it in today

trunk also doesn't need this patch.

(In reply to comment #20)
> (In reply to comment #17)
> > trunk doesn't need a=. I'll check it in today
> 
> trunk also doesn't need this patch.

Yes, of course. That's one of the reasons for which I didn't check it there ;)
vlad, pav: how badly do we want this on the 1.8.0.x branch?
(In reply to comment #22)
> vlad, pav: how badly do we want this on the 1.8.0.x branch?

It doesn't affect anything but gcc4 compilation, so there's no reason not to.
Flags: blocking1.8.0.3? → blocking1.8.0.3+
Comment on attachment 203761 [details] [diff] [review]
Patch to fix the issue

a=jay for drivers on 1.8.0 branch.
Attachment #203761 - Flags: approval1.8.0.3+
checked in to 1.8.0 branch
Keywords: fixed1.8.0.3
Verified by code inspection.
Status: RESOLVED → VERIFIED
Assignee: nobody → mozbugs
You need to log in before you can comment on or make changes to this bug.