[OpenAFS] SuSE 10.1 kernel 2.6.16.13-4/64Bit compile error - OpenAFS 1.5.2

Jeffrey Hutzelman jhutz@cmu.edu
Wed, 12 Jul 2006 18:16:25 -0400


On Wednesday, July 12, 2006 04:39:08 PM -0400 chas williams - CONTRACTOR 
<chas@cmf.nrl.navy.mil> wrote:

> In message <3C3E144B9FABEF9D167B5E4B@bistromath.pc.cs.cmu.edu>,Jeffrey
> Hutzelma n writes:
>>> while on this subject, it looks like it will be necessary to build a
>>> complete module to test for certain features.  the latest bleeding edge
>>> kernel has apparently made sys_open an exported gpl symbol.  so while
>>> the symbol is present, it cant be used by osi_probe since openafs is
>>> not gpl.
>>
>> That's OK; the probe code checks at runtime to see what symbols are
>> available to it.  It won't be able to use the exit+open method on
>> kernels  which don't export sys_open, but that's OK; it'll just try a
>> different  method.
>
> so you would think, but their kung fu is stronger:
>
> ...
>   CC [M]
> /scratch/chas/tmp/openafs/trunk/2.6.17/src/libafs/MODLOAD-2.6.17-MP/AFS_c
> omponent_version_number.o   CC [M]
> /scratch/chas/tmp/openafs/trunk/2.6.17/src/libafs/MODLOAD-2.6.17-MP/osi_p
> robe.o   LD [M]
> /scratch/chas/tmp/openafs/trunk/2.6.17/src/libafs/MODLOAD-2.6.17-MP/libaf
> s.o   Building modules, stage 2.
>   MODPOST
> FATAL: modpost: GPL-incompatible module libafs.ko uses GPL-only symbol
> 'sys_open'

Bastards.
Well, I guess we could LINUX_VERSION_CODE it out or something.  I hate to 
break things if there's some older kernel where that's the only method that 
works (though I can't think of a case where exit+open is known to work and 
pattern scan isn't).