X build fails on sparc64 on 4.0-beta

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

X build fails on sparc64 on 4.0-beta

Markus Lude-2
Hello,
recently I upgraded from 3.9 to 4.0-beta. Firefox crashes often because
of a X error 'RenderBadGlyphSet (invalid GlyphSet parameter)'. This
crashes occured under 3.9 too. On 3.9 I recompiled X with a small change
in /usr/XF4/xc/programs/Xserver/render/render.c which fixed the crashes
for me so far. On -current the X build fails because some header file
seems to be missing. Any hints on how to fix this?

Please CC me in replies. Thanks.

Regards,
Markus

currently running:

OpenBSD 4.0-beta (GENERIC) #923: Tue Aug 22 03:13:11 MDT 2006
    [hidden email]:/usr/src/sys/arch/sparc64/compile/GENERIC


change to render.c:

# diff -up render.c.org render.c
--- render.c.org        Mon Jun 12 16:02:32 2006
+++ render.c    Fri Jun 30 18:16:02 2006
@@ -1340,7 +1340,7 @@ ProcRenderCompositeGlyphs (ClientPtr cli
        {
            if (buffer + sizeof (GlyphSet) < end)
            {
-               memcpy(&gs, buffer, sizeof(GlyphSet));
+               gs = *(CARD32 *) buffer;
                glyphSet = (GlyphSetPtr) SecurityLookupIDByType (client,
                                                                 gs,
                                                                 GlyphSetType,


tail of X build log:

cc -c -O2 -Wall -Wpointer-arith -Wundef    -I. -I.. -I../../../../../programs/Xserver/hw/xfree86/common -I../../../../../programs/Xserver/hw/xfree86/os-support -I../../../../../programs/Xserver/hw/xfree86/vbe -I../../../../../programs/Xserver/dbe -I../../../../../programs/Xserver/Xext -I../../../../../programs/Xserver/hw/xfree86/int10 -I../../../../../programs/Xserver/mfb -I../../../../../programs/Xserver/mi -I../../../../../programs/Xserver/include -I../../../../../programs/Xserver/os -I../../../../../exports/include/X11 -I../../../../../include/fonts -I../../../../../lib/font/include -I../../../../../lib/font/fontcache -I../../../../../include/extensions -I../../../../../programs/Xserver/hw/xfree86/ddc -I../../../../../programs/Xserver/hw/xfree86/i2c -I../../../../../programs/Xserver/render -I../../../../../programs/Xserver/miext/cw -I../../../../../programs/Xserver/miext/damage  -I../../../../.. -I../../../../../exports/include   -DCSRG_BASED -DSHAPE -DXINPU!
 T -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP   -DXF86BIGFONT -DDPMSExtension -DXPRINT -DPIXPRIV -DPANORAMIX -DRENDER -DRANDR -DXFIXES -DDAMAGE -DCOMPOSITE -DXEVIE -DGCCUSESGAS -D_XSERVER64 -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DDLOPEN_HACK -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_BIG_ENDIAN -DXORG_VERSION_CURRENT="(((6) * 10000000) + ((9) * 100000) + ((0) * 1000) + 0)" -DNDEBUG   -DFUNCPROTO=15 -DNARROWPROTO    -DDLOPEN_SUPPORT -DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR -DDDXOSVERRORF -DDDXTIME -DDDXOSINIT -DFONTENC_COMPATIBILITY  -DHAS_SHM   -DUSB_HID  -DX_PRIVSEP   misym.c
In file included from misym.c:83:
../../../../../include/extensions/damage.h:48:41: X11/extensions/damageshared.h: No such file or directory
In file included from misym.c:83:
../../../../../include/extensions/damage.h:59: error: syntax error before "Display"
../../../../../include/extensions/damage.h:67: error: syntax error before '*' token
../../../../../include/extensions/damage.h:72: error: syntax error before "XDamageQueryVersion"
../../../../../include/extensions/damage.h:73: error: syntax error before '*' token
../../../../../include/extensions/damage.h:76: warning: type defaults to `int' in declaration of `XDamageQueryVersion'
../../../../../include/extensions/damage.h:76: warning: data definition has no type or storage class
../../../../../include/extensions/damage.h:79: error: syntax error before '*' token
../../../../../include/extensions/damage.h:84: error: syntax error before '*' token
../../../../../include/extensions/damage.h:89: error: syntax error before '*' token
../../../../../include/extensions/damage.h:99: error: syntax error before '*' token
misym.c:222: error: `DamageDamageRegion' undeclared here (not in a function)
misym.c:222: error: initializer element is not constant
misym.c:222: error: (near initialization for `miLookupTab[126].offset')
misym.c:222: error: initializer element is not constant
misym.c:222: error: (near initialization for `miLookupTab[126]')
misym.c:225: error: initializer element is not constant
misym.c:225: error: (near initialization for `miLookupTab[127]')
*** Error code 1

Stop in /usr/Xbld/xc/programs/Xserver/hw/xfree86/loader.
*** Error code 1

Stop in /usr/Xbld/xc/programs/Xserver/hw/xfree86 (line 1384 of Makefile).
*** Error code 1

Stop in /usr/Xbld/xc/programs/Xserver (line 1481 of Makefile).
*** Error code 1

Stop in /usr/Xbld/xc/programs (line 1117 of Makefile).
*** Error code 1

Stop in /usr/Xbld/xc (line 1058 of xmakefile).
*** Error code 1

Stop in /usr/Xbld/xc (line 1135 of xmakefile).
*** Error code 1

Stop in /usr/Xbld/xc (line 46 of Makefile).
*** Error code 1

Stop in /usr/Xbld (line 63 of Makefile).
*** Error code 1

Stop in /usr/Xbld (line 82 of Makefile).

Reply | Threaded
Open this post in threaded view
|

Re: X build fails on sparc64 on 4.0-beta [SOLVED]

Markus Lude-2
On Fri, Aug 25, 2006 at 11:09:29PM +0200, Markus Lude wrote:
> Hello,
> recently I upgraded from 3.9 to 4.0-beta. Firefox crashes often because
> of a X error 'RenderBadGlyphSet (invalid GlyphSet parameter)'. This
> crashes occured under 3.9 too. On 3.9 I recompiled X with a small change
> in /usr/XF4/xc/programs/Xserver/render/render.c which fixed the crashes
> for me so far. On -current the X build fails because some header file
> seems to be missing. Any hints on how to fix this?

After some more searching I found an older post on bugs@ mentioning two
damage.h files. I removed /usr/XF4 and did a fresh checkout:

cvs -d [hidden email]:/cvs co -PA XF4

After this, there were indeed two damage.h files, one too much.

$ pwd
/usr/XF4
$ find . -name damage.h      
./xc/include/extensions/damage.h
./xc/programs/Xserver/miext/damage/damage.h

As Matthieu Herrb said in the mentioned post on bugs@, there is only one
damage.h in a correctly checked out source tree. Cvsweb at openbsd.org
listed no file xc/include/extensions/damage.h. This seems to be a
problem with the mirror at cvs.openbsd.cz.

After cvs up -dPA from mirror.osn.de the first damage.h was removed.

X builds fine now and firefox is running more stable now.
It would be nice if the mentioned change in render.c could be committed
to cvs.

Please CC me in replies. Thanks.

Regards,
Markus

> currently running:
>
> OpenBSD 4.0-beta (GENERIC) #923: Tue Aug 22 03:13:11 MDT 2006
>     [hidden email]:/usr/src/sys/arch/sparc64/compile/GENERIC
>
>
> change to render.c:
>
> # diff -up render.c.org render.c
> --- render.c.org        Mon Jun 12 16:02:32 2006
> +++ render.c    Fri Jun 30 18:16:02 2006
> @@ -1340,7 +1340,7 @@ ProcRenderCompositeGlyphs (ClientPtr cli
>         {
>             if (buffer + sizeof (GlyphSet) < end)
>             {
> -               memcpy(&gs, buffer, sizeof(GlyphSet));
> +               gs = *(CARD32 *) buffer;
>                 glyphSet = (GlyphSetPtr) SecurityLookupIDByType (client,
>                                                                  gs,
>                                                                  GlyphSetType,
>
>
> tail of X build log:
>
> cc -c -O2 -Wall -Wpointer-arith -Wundef    -I. -I.. -I../../../../../programs/Xserver/hw/xfree86/common -I../../../../../programs/Xserver/hw/xfree86/os-support -I../../../../../programs/Xserver/hw/xfree86/vbe -I../../../../../programs/Xserver/dbe -I../../../../../programs/Xserver/Xext -I../../../../../programs/Xserver/hw/xfree86/int10 -I../../../../../programs/Xserver/mfb -I../../../../../programs/Xserver/mi -I../../../../../programs/Xserver/include -I../../../../../programs/Xserver/os -I../../../../../exports/include/X11 -I../../../../../include/fonts -I../../../../../lib/font/include -I../../../../../lib/font/fontcache -I../../../../../include/extensions -I../../../../../programs/Xserver/hw/xfree86/ddc -I../../../../../programs/Xserver/hw/xfree86/i2c -I../../../../../programs/Xserver/render -I../../../../../programs/Xserver/miext/cw -I../../../../../programs/Xserver/miext/damage  -I../../../../.. -I../../../../../exports/include   -DCSRG_BASED -DSHAPE -DXIN!
 PUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP   -DXF86BIGFONT -DDPMSExtension -DXPRINT -DPIXPRIV -DPANORAMIX -DRENDER -DRANDR -DXFIXES -DDAMAGE -DCOMPOSITE -DXEVIE -DGCCUSESGAS -D_XSERVER64 -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DDLOPEN_HACK -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_BIG_ENDIAN -DXORG_VERSION_CURRENT="(((6) * 10000000) + ((9) * 100000) + ((0) * 1000) + 0)" -DNDEBUG   -DFUNCPROTO=15 -DNARROWPROTO    -DDLOPEN_SUPPORT -DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR -DDDXOSVERRORF -DDDXTIME -DDDXOSINIT -DFONTENC_COMPATIBILITY  -DHAS_SHM   -DUSB_HID  -DX_PRIVSEP   misym.c

> In file included from misym.c:83:
> ../../../../../include/extensions/damage.h:48:41: X11/extensions/damageshared.h: No such file or directory
> In file included from misym.c:83:
> ../../../../../include/extensions/damage.h:59: error: syntax error before "Display"
> ../../../../../include/extensions/damage.h:67: error: syntax error before '*' token
> ../../../../../include/extensions/damage.h:72: error: syntax error before "XDamageQueryVersion"
> ../../../../../include/extensions/damage.h:73: error: syntax error before '*' token
> ../../../../../include/extensions/damage.h:76: warning: type defaults to `int' in declaration of `XDamageQueryVersion'
> ../../../../../include/extensions/damage.h:76: warning: data definition has no type or storage class
> ../../../../../include/extensions/damage.h:79: error: syntax error before '*' token
> ../../../../../include/extensions/damage.h:84: error: syntax error before '*' token
> ../../../../../include/extensions/damage.h:89: error: syntax error before '*' token
> ../../../../../include/extensions/damage.h:99: error: syntax error before '*' token
> misym.c:222: error: `DamageDamageRegion' undeclared here (not in a function)
> misym.c:222: error: initializer element is not constant
> misym.c:222: error: (near initialization for `miLookupTab[126].offset')
> misym.c:222: error: initializer element is not constant
> misym.c:222: error: (near initialization for `miLookupTab[126]')
> misym.c:225: error: initializer element is not constant
> misym.c:225: error: (near initialization for `miLookupTab[127]')
> *** Error code 1
>
> Stop in /usr/Xbld/xc/programs/Xserver/hw/xfree86/loader.
> *** Error code 1
>
> Stop in /usr/Xbld/xc/programs/Xserver/hw/xfree86 (line 1384 of Makefile).
> *** Error code 1
>
> Stop in /usr/Xbld/xc/programs/Xserver (line 1481 of Makefile).
> *** Error code 1
>
> Stop in /usr/Xbld/xc/programs (line 1117 of Makefile).
> *** Error code 1
>
> Stop in /usr/Xbld/xc (line 1058 of xmakefile).
> *** Error code 1
>
> Stop in /usr/Xbld/xc (line 1135 of xmakefile).
> *** Error code 1
>
> Stop in /usr/Xbld/xc (line 46 of Makefile).
> *** Error code 1
>
> Stop in /usr/Xbld (line 63 of Makefile).
> *** Error code 1
>
> Stop in /usr/Xbld (line 82 of Makefile).