* On 18.07.2008 22:25, Hannu Savolainen wrote:
> Hi Mihai,
>
> Unfortunately I cannot fix this problem. For some reason the OSS modules 
> sometimes get built in a way that leaves one or more symbols without 
> version information. This seems to happen for different symbols 
> depending on the system. Now it looks like the latest kernel drops such 
> symbols instead of giving just a warning.
>
> I have not managed to understand why some symbols get left without 
> version information when osscore is built. It looks more like a bug in 
> the module building system of Linux rather than an OSS bug. Somebody 
> with better understanding of the module subsystem should take a look at 
> this.
>
> Best regards,
>
> Hannu
> ---------
> Mihai Moldovan wrote:
>   
>> Hi Hannu,
>>
>> I guess your help is needed here...
>>
>> When installing OSS (4.0, 4.1 Testing, tip, ... all the same) on Linux 
>> 2.6.26 I get these errors:
>>
>> [97673.526648] oss_usb: no symbol version for num_audio_engines
>> [97673.526653] oss_usb: Unknown symbol num_audio_engines
>> [97673.527001] oss_usb: no symbol version for oss_strncpy
>> [97673.527005] oss_usb: Unknown symbol oss_strncpy
>> [97673.528237] oss_usb: no symbol version for oss_kmem_alloc
>> [97673.528244] oss_usb: Unknown symbol oss_kmem_alloc
>>
>> etc. etc. for each driver, except osscore. Osscore is in fact the only 
>> module loading fine, all the other ones throw such error message for 
>> basically each exported Symbol.
>>
>> It just seems the modules wouldn't know, that the required symbols can 
>> be found in osscore.ko...  although:
>>
>> filename:       /lib/modules/2.6.26-squashFS3.3-OSS4/kernel/oss/oss_usb.ko
>> author:         4Front Technologies ([EMAIL PROTECTED])
>> description:    Open Sound System 'oss_usb' driver module
>> license:        GPL v2
>> depends:        osscore
>> vermagic:       2.6.26-squashFS3.3-OSS4 preempt mod_unload modversions 
>> PENTIUMIII 4KSTACKS
>> parm:           usb_trace:int
>> parm:           usb_mixerstyle:int
>>
>> Weird.
>>
>> My guess is, that the most crucial error message is "no symbol version 
>> for xxx" and it might have been caused by a new build system, which made 
>> the OSS one having problems resolving the symbols and their versions, 
>> resulting in symbols with no version information.
>>
>> Apparently, LIRC also had such sort of issues, but the Debian guys 
>> managed to find a solution/workaround for this. 
>> http://www.mail-archive.com/[EMAIL PROTECTED]/msg193876.html 
>> that's the link (thank you, Yair/cesium.)
>>
>> However, by creating a diff of both versions (0.8.2-2 and 0.8.3-1) and 
>> having everything not related removed, I yet was not able to find the 
>> change in the Debian patchset which included the fix... everything I 
>> could find was a somewhat modified Makefile, but it complies with the 
>> OSS module generation routine in /usr/lib/oss/build/, so I am sort of 
>> out of ideas...
>>
>> All those errors happen with 2.6.26 stable and apparently also some rc 
>> version (like -rc9), but I cannot say where the problem has been really 
>> introduced.
>>
>> If you bear with me, however, I could get a copy of Linus' git tree and 
>> do some bisecting, maybe finding the "faulty" Kernel patch, also maybe 
>> helping fixing this issue. Just tell me a yes and there I go. :)
>>
>>
>> By the way, in the (unsuccessful) process of finding the bug, I have 
>> found following warnings while building the Kernel modules:
>>
>> CC [M]  /usr/lib/oss/build/oss_ali5455.o
>> In file included from /usr/lib/oss/build/module.inc:46,
>>                  from /usr/lib/oss/build/oss_ali5455.c:19:
>> /usr/lib/oss/build/pci_wrapper.inc: In function 'osspci_probe':
>> /usr/lib/oss/build/pci_wrapper.inc:54: warning: ignoring return value of 
>> 'pci_enable_device', declared with attribute warn_unused_result
>>
>> and
>>
>> WARNING: "oss_ali5455_attach" [/usr/lib/oss/build/oss_ali5455.ko] undefined!
>> WARNING: "oss_ali5455_detach" [/usr/lib/oss/build/oss_ali5455.ko] undefined!
>>
>> Both seem to be independent of the used Kernel (I have tested with 
>> various) and both do not seem to cause any harm. However, maybe those 
>> can be fixed as well (I hope no real idea though.)
>> Ah, and of course both warnings happen with any module being build, 
>> ali5455 was the first one to be compiled on my system, so I pasted this one.
>> Anyways, the first warning message printed by GCC does only happen on 
>> some modules, other modules do have these warnings:
>>
>> /usr/lib/oss/build/module.inc:32: warning: 'module_major' defined but 
>> not used
>> /usr/lib/oss/build/module.inc:33: warning: 'instance' defined but not used
>>
>>
>> However, it seems that each module produces either the first, or the 
>> second GCC warning... seems to be very non-critical, but maybe fixable 
>> as well. :p
>>
>>
>> Hope I am not destroying your whole weekend...
>>
>>
>> Best regards,
>>
>>
>> Mihai
>> _______________________________________________
>> oss-devel mailing list
>> oss-devel@mailman.opensound.com
>> http://mailman.opensound.com/mailman/listinfo/oss-devel
>>   
>>     
>
> _______________________________________________
> oss-devel mailing list
> oss-devel@mailman.opensound.com
> http://mailman.opensound.com/mailman/listinfo/oss-devel
>
>   
Guess we all need to switch to some other OS and to dump Linux ASAP. j/k ;)
Those stuff happens way too often in Linux though... and mostly - only 
in Linux. *sigh*

Well, thank you though for the explanation. :)

Best regards,


Mihai
_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to