Kernel 2.4.18-18 Compile Problems..

ME dugan at passwall.com
Tue Dec 17 18:25:16 PST 2002


includes a ref to the inclusion of the header files and why they shifted
from symlinks to not:

http://www.no.linuxfromscratch.org/view/cvs/chapter06/kernel.html


ME said:
> (comments below)
>
> Christopher Wagner said:
>> NOW, I'm faced with yet another stepping block. :(  In the sound
>> drivers section I'm getting:
>> ---
>> make[1]: Entering directory `/usr/src/linux-2.4.18-18.7.x'
>> kallsyms pass 1
> [chop]
>> drivers/sound/sounddrivers.o: In function `es1371_probe':
>> drivers/sound/sounddrivers.o(.text+0x6550): undefined reference to
>> `gameport_register_port'
>> drivers/sound/sounddrivers.o: In function `es1371_remove':
>> drivers/sound/sounddrivers.o(.text+0x66ba): undefined reference to
>> `gameport_unregister_port'
>> make[1]: *** [kallsyms] Error 1
>> make[1]: Leaving directory `/usr/src/linux-2.4.18-18.7.x'
>> make: *** [vmlinux] Error 2
>>
>> This is happening every time now..  Any thoughts?
>
> Yes.
> It looks like the es1371 code section is looking for a gameport
> reference (var or function) and cant find one. I have noticed occasional
> problems in the newer sound code where dependencies withing the kernel
> are not met.
>
> Suggestions on things to do...
> If you know for certain that you have an es1371 based sound card using
> the AC97 chips, then keep it in, if not, then remove support for this
> and then the problem will be skipped.
>
> If you know that you have a sound card that required this driver for
> support, then consider examining the gameport/joystick section and
> enable one or more drivers for this. This may provide the necessary
> functions/variables expected in the compiler checks before compilation
> (that all the vars called/used are actually defined and available in
> scope.)
>
> Doyou have such a card? According the the help for that driver:
> CONFIG_SOUND_ES1371
>   Say Y or M if you have a PCI sound card utilizing the Ensoniq
>   ES1371 chipset, such as Ensoniq's AudioPCI97. To find out if
>   your sound card uses an ES1371 without removing your computer's
>   cover, use lspci -n and look for the PCI ID 1274:1371. Since
>   Ensoniq was bought by Creative Labs, Sound Blaster 64/PCI
>   models are either ES1370 or ES1371 based. This driver differs
>   slightly from OSS/Free, so PLEASE READ
>   <file:Documentation/sound/solo1>
>
> The doc file mentioned did not shed any light to the situation.
>
> Heeding the notice of the GNU Generation, I try to "Use the Source" and
> find this:
>
> looking at "drivers/sound/es1371.c" I find that there is a reference to
> "gameport_unregister_port" , but my /usr/include/linux/gameport.h (which
> is included here) also has functions of the same name.
>
> Now, I am test-building a kernel that has support for that module
> included to see if I can duplicate your error.
>
> I was unable to duplicate the error you found. You may want to examine
> your system's linux include files - specificly the gameport.h file in
> /usr/include/linux/gameport.h and the file in your linux source tree's
> include/linux/gameport.h
>
> Perhaps do a diff on the two files from the linux src tree's root
> directory:
>
> (One line:)
>
> <pre>
>
> # diff /usr/include/linux/gameport.h src/include/linux/gameport
>
> </pre>
>
> If you see examples of "gameport_unregister_port" in the diff output, it
> is likely that the /usr/include/linux/gameport.h is being used by your
> kernel.
>
> If this is the case, you may want to examine backing up the /usr/include
> linux/gameport.h to say /usr/include/linux/gameport.h.bak
> and then copy the one from your linux kernel source tree to
> /usr/include/linux/gameport.h
>
> There was debate ages ago about copying the linux kernel header files
> into the system's /usr/include folder, or use symbolic links, or do
> nothing and leave it as is. There are plusses and minuses for the
> different opinions.
>
> Try the backup/copy of just this file to the system's /usr/include/linux
> directory and see if it helps.
> (Seeing all of these problems makes me glad I have Debian. *plug*
> *plug*:-)
>
>
> -ME
>
>
>
> --
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GCS/CM$/IT$/LS$/S/O$ !d--(  ) !s !a   (-----) C  $(    ) U    $( $) P $>
> L   $(  ) E W   $( ) N  o K w $>  >    O-@ M $ V-$>- !PS !PE Y  PGP t at -(
>  ) 5 @ X@ R- tv- b   DI    D  G--@ e >  >     h(  )>  r*>? z? ------END
> GEEK CODE BLOCK------
> decode: http://www.ebb.org/ungeek/ about:
> http://www.geekcode.com/geek.html





More information about the talk mailing list