Bug 134604 - xorg-6.9.0-r1 fails on insecure-drivers
|
Bug#:
134604
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: major
|
Priority: P4
|
|
Resolution: FIXED
|
Assigned To: x11@gentoo.org
|
Reported By: eggie@pointpro.nl
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: xorg-6.9.0-r1 fails on insecure-drivers
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2006-05-28 03:30 0000
|
Xorg emerge fails on insecure drivers because of a syntax-error in
xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h
This can be fixed by applying the following patch to the Xorg-6.9.0-r1
base-directory. I'm not too good at generating patches but this one seems to
work when executed from /var/tmp/portage/xorg-6.9.0-r1/work/ by using 'patch
-p0 xorg.patch'
This is the content of the patch, I named it xorg.patch:
--- xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h2004-04-23
21:48:16.000000000 +0200
+++ xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h2006-05-28
12:14:39.000000000 +0200
@@ -318,7 +318,7 @@
unsigned int eiap;
} ffb_dac_hwstate_t;
-typedef struct {
+typedef struct ffb_wid_info {
BoolInUse;
/* The following fields are undefined unless InUse is TRUE. */
@@ -335,7 +335,7 @@
} ffb_wid_info_t;
#define FFB_MAX_PWIDS64
-typedef struct {
+typedef struct ffb_wid_pool {
intnum_wids;
intwid_shift;/* To get X channel value*/
ffb_wid_info_twid_pool[FFB_MAX_PWIDS];
Right, apperently that doesn't fix it. Don't know what's wrong, but now trying
to see if changing Bool to bool helps a bit...
But I might be better of leaving it as my C-skills aren't that great.
Still, I need this ebuild to compile so I'll continue fiddling.
Any reason you're not using 7.0?
Also, posting the error and your 'emerge --info' here would be helpful. If you
want to post the whole compile log, please attach it rather than pasting it
inline ;)
The reason I'm not using 7.0 is that(as far as I know) that one is modular and
thus I need to unmask a dozen of ebuilds, while for this one I only had to
unmask one ebuild.
The error it stops on is:
/usr/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../i686-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
rm -f tdfx_dri.so tdfx_dri.so.map
mv -f tdfx_dri.so~ tdfx_dri.so
rm -f ../../../../../../exports/lib/modules/dri/tdfx_dri.so
+ cd ../../../../../../exports/lib/modules/dri
+ ln -s ../../../../lib/GL/mesa/drivers/dri/tdfx/tdfx_dri.so .
make[6]: Leaving directory
`/var/tmp/portage/xorg-x11-6.9_pre20051030/work/xc/lib/GL/mesa/drivers/dri/tdfx'
making all in lib/GL/mesa/drivers/dri/ffb...
make[6]: Entering directory
`/var/tmp/portage/xorg-x11-6.9_pre20051030/work/xc/lib/GL/mesa/drivers/dri/ffb'
rm -f ffb_bitmap.o
i686-pc-linux-gnu-gcc -c -march=athlon-xp -O3 -pipe -fomit-frame-pointer
-fno-strict-aliasing -ansi -Wno-return-type -w
-I../../../../../../exports/include/X11 -I../../../../../../include/extensions
-I../../../../../../extras/Mesa/src/mesa
-I../../../../../../extras/Mesa/src/mesa/main
-I../../../../../../extras/Mesa/src/mesa/glapi
-I../../../../../../extras/Mesa/src/mesa/shader
-I../../../../../../extras/Mesa/include
-I../../../../../../extras/Mesa/src/mesa/drivers/dri/common
-I../../../../../../extras/Mesa/src/mesa/drivers/dri/ffb
-I../../../../../../lib/GL/dri-I../../../../../../exports/include/X11
-I../../../../../../lib/GL/glx -I../../../../../../lib/GL/include
-I../../../../../../programs/Xserver/GL/dri
-I../../../../../../programs/Xserver/hw/xfree86/os-support
-I../../../../../../extras/drm/shared-core
-I../../../../../../lib/GL/dri/drm
-I../../../../../../programs/Xserver/hw/xfree86/drivers/sunffb
-I../../../../../.. -I../../../../../../exports/include -Dlinux -D__i386__
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE
-D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-D_GNU_SOURCE -DFUNCPROTO=15 -DNARROWPROTO
-DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -DMALLOC_0_RETURNS_NULL -DGLXEXT
-DXF86DRI -DGLX_DIRECT_RENDERING -DGLX_USE_DLOPEN -DGLX_USE_MESA
-DX_BYTE_ORDER=X_LITTLE_ENDIAN -DIN_DRI_DRIVER -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -fPIC ffb_bitmap.c
In file included from ffb_xmesa.h:11,
from ffb_context.h:11,
from ffb_bitmap.c:28:
../../../../../../programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h:322:
fout: syntax error before
The reason I'm not using 7.0 is that(as far as I know) that one is modular and
thus I need to unmask a dozen of ebuilds, while for this one I only had to
unmask one ebuild.
The error it stops on is:
/usr/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../i686-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
rm -f tdfx_dri.so tdfx_dri.so.map
mv -f tdfx_dri.so~ tdfx_dri.so
rm -f ../../../../../../exports/lib/modules/dri/tdfx_dri.so
+ cd ../../../../../../exports/lib/modules/dri
+ ln -s ../../../../lib/GL/mesa/drivers/dri/tdfx/tdfx_dri.so .
make[6]: Leaving directory
`/var/tmp/portage/xorg-x11-6.9_pre20051030/work/xc/lib/GL/mesa/drivers/dri/tdfx'
making all in lib/GL/mesa/drivers/dri/ffb...
make[6]: Entering directory
`/var/tmp/portage/xorg-x11-6.9_pre20051030/work/xc/lib/GL/mesa/drivers/dri/ffb'
rm -f ffb_bitmap.o
i686-pc-linux-gnu-gcc -c -march=athlon-xp -O3 -pipe -fomit-frame-pointer
-fno-strict-aliasing -ansi -Wno-return-type -w
-I../../../../../../exports/include/X11 -I../../../../../../include/extensions
-I../../../../../../extras/Mesa/src/mesa
-I../../../../../../extras/Mesa/src/mesa/main
-I../../../../../../extras/Mesa/src/mesa/glapi
-I../../../../../../extras/Mesa/src/mesa/shader
-I../../../../../../extras/Mesa/include
-I../../../../../../extras/Mesa/src/mesa/drivers/dri/common
-I../../../../../../extras/Mesa/src/mesa/drivers/dri/ffb
-I../../../../../../lib/GL/dri-I../../../../../../exports/include/X11
-I../../../../../../lib/GL/glx -I../../../../../../lib/GL/include
-I../../../../../../programs/Xserver/GL/dri
-I../../../../../../programs/Xserver/hw/xfree86/os-support
-I../../../../../../extras/drm/shared-core
-I../../../../../../lib/GL/dri/drm
-I../../../../../../programs/Xserver/hw/xfree86/drivers/sunffb
-I../../../../../.. -I../../../../../../exports/include -Dlinux -D__i386__
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE
-D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-D_GNU_SOURCE -DFUNCPROTO=15 -DNARROWPROTO
-DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -DMALLOC_0_RETURNS_NULL -DGLXEXT
-DXF86DRI -DGLX_DIRECT_RENDERING -DGLX_USE_DLOPEN -DGLX_USE_MESA
-DX_BYTE_ORDER=X_LITTLE_ENDIAN -DIN_DRI_DRIVER -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -fPIC ffb_bitmap.c
In file included from ffb_xmesa.h:11,
from ffb_context.h:11,
from ffb_bitmap.c:28:
../../../../../../programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h:322:
fout: syntax error before Bool
../../../../../../programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h:326:
fout: syntax error before canshare
../../../../../../programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h:335:
fout: syntax error before } token
../../../../../../programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h:341:
fout: syntax error before ffb_wid_info_t
../../../../../../programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dac.h:362:
fout: syntax error before ffb_wid_pool_t
Maybe this is because sunffb isn't available at all for X86, maybe it's a
sparc-only driver or something? Anyway, I finally got it to compile by adding
this on line 747 to xorg-6.9.0-r1.ebuild:
echo "#define DevelDRIDrivers unichrome" >> {$HOSTCONF}
That disabled all DevelDRIDrivers except for unichrome. This doesn't fix the
ffb_dac.h but it does fix the compile and gets me the driver I want.
This suggestion I got from:
http://lists.freedesktop.org/archives/xorg/2005-December/011655.html
where Simon Strandmann says:
I and others on the gentoo forums had the same problem. You have to add
"#define DevelDRIDrivers mach64 unichrome savage" to prevent sunffb to
build to get around it. I'm not sure why sunffb is built at all on x86.
Are you using the testing tree? X7 has been out of mask for a while now.
Fixed in xorg-x11-6.9.0-r2