Re: Xorg RC3: Undefined symbol "KEYBOARD"

Kristian Høgsberg <krh-1OA22m9ORUweIZ0/[email protected]>
Newsgroups gmane.comp.freedesktop.release-wranglers
Message-ID <[email protected]>
Alan Coopersmith wrote:
> Built RC3 on Solaris/sparc - 2 of 3 the three builds passed,
> but the LoadableServer NO build failed with this error when
> trying to link Xorg:
> 
> Undefined                       first referenced
>  symbol                             in file
> KEYBOARD ../../programs/Xserver/hw/xfree86/input/drvConf.o
> 
> Anyone seen this before or can suggest where to look to find
> where this symbol should be coming from and why it's not being
> built?
This is triggered by the combination of UseDeprecatedKeyboardDriver YES 
and LoadableServer NO: the KEYBOARD struct in input/keyboard/kbd.c is 
only defined when UseDeprecatedKeyboardDriver is NO but it is always 
included in the generated file drvConf.c because it's the name of the 
input/keyboard directory.  My suggestion is to just always define the 
KEYBOARD struct.  When the old driver is used there will be two structs 
in the array in drvConf.c with .driverName="keyboard", but the old 
driver will be first in the list and take precedence.

Patch attached.

Kristian

_______________________________________________
release-wranglers mailing list
[email protected]
http://freedesktop.org/mailman/listinfo/release-wranglers
more-kbd-fun.patch (text/x-patch, 661 B)
Index: programs/Xserver/hw/xfree86/input/keyboard/kbd.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v
retrieving revision 1.4
diff -u -p -r1.4 kbd.c
--- programs/Xserver/hw/xfree86/input/keyboard/kbd.c	16 Aug 2004 22:48:51 -0000	1.4
+++ programs/Xserver/hw/xfree86/input/keyboard/kbd.c	28 Aug 2004 21:45:22 -0000
@@ -69,7 +69,6 @@ InputDriverRec KBD = {
 	0
 };
 
-#ifndef USE_DEPRECATED_KEYBOARD_DRIVER
 InputDriverRec KEYBOARD = {
 	1,
 	"keyboard",
@@ -79,7 +78,6 @@ InputDriverRec KEYBOARD = {
 	NULL,
 	0
 };
-#endif
 
 typedef enum {
     OPTION_ALWAYS_CORE,
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.