gcc -c -ansi -pedantic -Wno-return-type -w -I../../../../exports/include -I../../../../include/extensions -I../../../../extras/Mesa/src -I../../../../extras/Mesa/src/SPARC -I../../../include -I../../../.. -I../../../../exports/include -Dlinux -D__sparc__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -DMALLOC_0_RETURNS_NULL -DGLXEXT -DXF86DRI -DGLX_DIRECT_RENDERING -DGLX_USE_DLOPEN -DGLX_USE_MESA -D__GLX_ALIGN64 -DUSE_SPARC_ASM -mcpu=ultrasparc -O2 -pipe -fno-strict-aliasing sparc.c -o unshared/sparc.o In file included from ../../../../extras/Mesa/src/mtypes.h:35, from ../../../../extras/Mesa/src/context.h:32, from sparc.c:32: ../../../../extras/Mesa/src/glheader.h:203:32: GL/internal/glcore.h: No such file or directory In file included from ../../../../extras/Mesa/src/context.h:32, from sparc.c:32: ../../../../extras/Mesa/src/mtypes.h:1289: error: field `Visual' has incomplete type In file included from ../../../../extras/Mesa/src/context.h:32, from sparc.c:32: ../../../../extras/Mesa/src/mtypes.h:1626: error: syntax error before "__GLimports" ../../../../extras/Mesa/src/mtypes.h:1627: error: ISO C forbids data definition with no type or storage class ../../../../extras/Mesa/src/mtypes.h:1795: error: syntax error before '}' token In file included from sparc.c:32: ../../../../extras/Mesa/src/context.h:182: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:185: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:188: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:191: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:194: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:197: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:200: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:203: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:206: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:209: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:212: error: syntax error before '*' token ../../../../extras/Mesa/src/context.h:215: error: syntax error before '*' token ../../../../extras/Mesa/src/mtypes.h:1640: error: storage size of `Visual' isn't known make[6]: *** [sparc.o] Error 1 make[6]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.99.2/work/xc/lib/GL/mesa/sparc' make[5]: *** [all] Error 2 make[5]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.99.2/work/xc/lib/GL/mesa' make[4]: *** [all] Error 2 make[4]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.99.2/work/xc/lib/GL' make[3]: *** [all] Error 2 make[3]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.99.2/work/xc/lib' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.99.2/work/xc' make[1]: *** [World] Error 2 make[1]: Leaving directory `/var/tmp/portage/xorg-x11-6.7.99.2/work/xc' make: *** [World] Error 2 !!! ERROR: x11-base/xorg-x11-6.7.99.2 failed. !!! Function src_compile, Line 608, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. Portage 2.0.51_pre17 (default-sparc64-2004.0, gcc-3.3.4, glibc-2.3.3.20040420-r1, 2.6.7-grsec sparc64 sun4u) ================================================================= System uname: 2.6.7-grsec sparc64 sun4u Gentoo Base System version 1.5.2 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 Headers: sys-kernel/linux-headers-2.4.23 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="sparc ~sparc" AUTOCLEAN="yes" CFLAGS="-mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe" CHOST="sparc-unknown-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache noauto noinfo sandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://gentoo/gentoo-portage" USE="sparc X aalib acl adns aim apache2 audiofile avi caps crypt cups curl dga encode esd ethereal fam fbcon flac flash gd gd-external ggi gif gmp gnome gpm gps gtk gtk2 icq imagemagick imap imlib ipv6 jpeg ladcca mad maildir mikmod mpeg mpi mysql ncurses nocardbus offensive oggvorbis opengl oss pam pdflib perl png python quicktime readline samba sasl sdl slp snmp socks5 speex spell ssl tcltk tcpd theora tiff truetype wmf wxwindows xface xml xml2 xmms xosd xv zlib"
Sorry I missed this and duplicated at 60292. Please note further discussion in the comments to 60292 itself.
Created attachment 37741 [details, diff] Add an include to Imakefile to pick up GL/internal/glcore.h Imakefile in mesa/sparc is missing an -I$(MESASRCDIR)/include -- this patch adds it. To test, put the patch into x11-base/xorg-x11/files & do this to xorg-x11-6.7.99.2.ebuild: ============ --- xorg-x11-6.7.99.2.ebuild- 2004-08-19 16:19:45.478470152 +0000 +++ xorg-x11-6.7.99.2.ebuild 2004-08-19 16:16:50.253108456 +0000 @@ -70,7 +70,7 @@ nokia tektronix the-open-group todd-c-miller x-truetype xfree86-1.0 MIT SGI-B BSD FTL | GPL-2" SLOT="0" -KEYWORDS="~x86 ppc64 ~amd64 ~ppc ~mips" +KEYWORDS="~x86 ppc64 ~amd64 ~ppc ~mips ~sparc" # Need portage-2.0.50_pre9 for `use !foo` DEPEND=">=sys-apps/baselayout-1.8.3 @@ -571,6 +571,8 @@ epatch ${PATCHDIR} # epatch ${FILESDIR}/xorgconfig.c.diff # epatch ${FILESDIR}/xorg-stack-protector.patch + einfo "Apply sparc GL missing includes patch -- Fix bug 60305" + cd ${S} ; epatch ${FILESDIR}/sparc-GL-${PV}.patch cd ${S} host_def_setup ===============
Oh, yes, when you put the patch into .../files, call it sparc-GL-6.7.99.2.patch if you want to use the ebuild change exactly as I showed it. Sorry for leaving that little piece of information out.
With 6.7.9.902, xc/lib/GL fails on sparc in GL/mesa/sparc because of: sparc.c:32:21: context.h: No such file or directory sparc.c:33:26: math/m_xform.h: No such file or directory sparc.c:34:27: tnl/t_context.h: No such file or directory One way to pick these up is to make sure you have in the includes: -I../main & so on. Evidently the directories have been rearranged further, but the Imakefile in mesa/sparc is not keeping up with the changes. Once the new layout & soft links have stabalized, it should be posible to get a final Imakefile. I can generate further changes to force this version to compile, but not right now.
Created attachment 37909 [details, diff] Sufficient patch to work around this problem with the xorg-x11-6.7.99.902.ebuild As mentioned in Comment 4, the Mesa layout has changed from 99.2 --> 99.902; this patch allows a clean compile for libGL on sparc with 6.7.99.902. The corresponding ebuild is unchanged: the patch name is changed to correspond to the tag generated in the ebuild. With this patch, xorg-x11-6.7.99.902 does build libGL.so, libOSMesa.so, and ffb_dri.so cleanly. (The official change from Xorg once the final layout is in place will not look quite like this. For one thing, this patch does not remove references to '.../mesa/src/SPARC' even though there is no longer any such directory. For another, the Imakefile as patched is not consistent on whether to use the actual Mesa source for its directories or whether to use one of the symbolic link versions. Indeed, it can't be right now because some files -- like sparc.h -- are only in '...mesa/src/sparc'; but others -- like t_context.h -- are available from all over the place. You want to pick up t_context.h from the local symbolic link, but it lives physically next to sparc.h (not available locally). So inconsistency at this point is built in to the libGL source structure.)
reported upstream as http://freedesktop.org/bugzilla/show_bug.cgi?id=1154
fixed in upstream too.
Thanks. Upstream real bug is http://freedesktop.org/bugzilla/show_bug.cgi?id=1104 but apparently hasn't been tested on Linux, only Solaris. If it doesn't work on Linux, please comment on the upstream bug.
http://freedesktop.org/cgi-bin/viewcvs.cgi/xorg/xc/lib/GL/mesa/sparc/Imakefile?r1=1.1&r2=1.2 obviously not solaris-specific.
The upstream patch from xorg does fix this problem. For anyone building on sparc, note that the attached ...902 patch is equivalent, and one of these must be applied by hand until Gentoo incorporates the patch into its ebuild.
This is fixed in xorg-x11-6.7.99.903. Sparc testers -- do not use the local patch anymore; it is already present, and the local patch will conflict with current source. I know of no reason not to close this, but others might.
the point of these .99.xxx ebuilds is to get things fixed upstream, not really in Gentoo .. since the upstream patch is correctly applied to xfree-xorg-6.7.99.903, then we should be all set
This is fixed in all current X versions.
Marking fixed.