Bug 4744

Summary: Does not compile with the Intel compiler
Product: cairo Reporter: Kjartan Maraas <kmaraas>
Component: generalAssignee: Carl Worth <cworth>
Status: RESOLVED NOTOURBUG QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: high    
Version: 1.0.3   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Kjartan Maraas 2005-10-11 03:49:07 UTC
[kmaraas@localhost cairo]$ make
make  all-recursive
make[1]: Entering directory `/home/kmaraas/cvs/gnome212/cairo'
Making all in pixman
make[2]: Entering directory `/home/kmaraas/cvs/gnome212/cairo/pixman'
Making all in src
make[3]: Entering directory `/home/kmaraas/cvs/gnome212/cairo/pixman/src'
if /bin/sh ../../libtool --tag=CC --mode=compile icc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../.. -I.     -g -O2 -MT pixregion.lo -MD -MP -MF
".deps/pixregion.Tpo" -c -o pixregion.lo pixregion.c; \
then mv -f ".deps/pixregion.Tpo" ".deps/pixregion.Plo"; else rm -f
".deps/pixregion.Tpo"; exit 1; fi
mkdir .libs
 icc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -g -O2 -MT pixregion.lo -MD -MP
-MF .deps/pixregion.Tpo -c pixregion.c  -fPIC -DPIC -o .libs/pixregion.o
pixregion.c(1635): warning #188: enumerated type mixed with another type
      return ret;
             ^

pixregion.c(1242): warning #1358: declaration aliased to unknown entity
"INT_pixman_region_union"
  slim_hidden_def(pixman_region_union);
  ^

pixregion.c(458): warning #1358: declaration aliased to unknown entity
"INT_pixman_region_copy"
  slim_hidden_def(pixman_region_copy);
  ^

pixregion.c(333): warning #1358: declaration aliased to unknown entity
"INT_pixman_region_create_simple"
  slim_hidden_def(pixman_region_create_simple);
  ^

 icc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -g -O2 -MT pixregion.lo -MD -MP
-MF .deps/pixregion.Tpo -c pixregion.c -o pixregion.o >/dev/null 2>&1
if /bin/sh ../../libtool --tag=CC --mode=compile icc -DHAVE_CONFIG_H -I. -I.
-I../.. -I../.. -I.     -g -O2 -MT fbpict.lo -MD -MP -MF ".deps/fbpict.Tpo" -c
-o fbpict.lo fbpict.c; \
then mv -f ".deps/fbpict.Tpo" ".deps/fbpict.Plo"; else rm -f ".deps/fbpict.Tpo";
exit 1; fi
 icc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -g -O2 -MT fbpict.lo -MD -MP
-MF .deps/fbpict.Tpo -c fbpict.c  -fPIC -DPIC -o .libs/fbpict.o
/tmp/icc79Ns4Zas_: Assembler messages:
/tmp/icc79Ns4Zas_:1326: Error: symbol definition loop encountered at
`_cairo_pixman_composite'
make[3]: *** [fbpict.lo] Error 1
make[3]: Leaving directory `/home/kmaraas/cvs/gnome212/cairo/pixman/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/kmaraas/cvs/gnome212/cairo/pixman'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kmaraas/cvs/gnome212/cairo'
make: *** [all] Error 2
[kmaraas@localhost cairo]$
Comment 1 Kjartan Maraas 2005-10-12 12:14:08 UTC
Found a similar error message for netbsd with a patch to fix it there. Not sure
if this helps much though:

Wolfgang Rupprecht <wolfgang@wsrcc.com> writes:

>     /tmp/ccpXkWsJ.s:171: Error: Symbol definition loop encountered at llabs

Oops; fixed in src/lib/libc/arch/i386/stdlib/llabs.S rev. 1.3.

The diff is:

diff -u -p -r1.2 -r1.3
--- src/lib/libc/arch/i386/stdlib/llabs.S	2001/05/29 13:03:01	1.2
+++ src/lib/libc/arch/i386/stdlib/llabs.S	2001/05/29 23:59:19	1.3
@@ -1,4 +1,4 @@
-/*	$NetBSD: llabs.S,v 1.2 2001/05/29 13:03:01 kleink Exp $	*/
+/*	$NetBSD: llabs.S,v 1.3 2001/05/29 23:59:19 kleink Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -40,17 +40,17 @@
 
 #include <machine/asm.h>
 #if defined(LIBC_SCCS)
-	RCSID("$NetBSD: llabs.S,v 1.2 2001/05/29 13:03:01 kleink Exp $")
+	RCSID("$NetBSD: llabs.S,v 1.3 2001/05/29 23:59:19 kleink Exp $")
 #endif
 
 #ifdef WEAK_ALIAS
-WEAK_ALIAS(llabs, llabs)
+WEAK_ALIAS(llabs, _llabs)
 #endif
 
 #ifdef WEAK_ALIAS
-ENTRY(llabs)
-#else
 ENTRY(_llabs)
+#else
+ENTRY(llabs)
 #endif
 	movl	8(%esp),%edx
 	movl	4(%esp),%eax
Comment 2 Behdad Esfahbod 2006-06-14 10:14:50 UTC
Ok, so it's not a cairo bug IIUIC.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.