Crashdamage Posted December 21, 2003 Report Share Posted December 21, 2003 I'm trying to get a Creative Extigy external USB soundcard going using the exaudio-1.52 driver available here: http://www.cs.umass.edu/~cochran/ Untarred exaudio-1.52.tgz ok. No ./configure file, so went right to 'make' but it failed: [tim@localhost exaudio-1.52]$ make gcc -I/lib/modules/2.4.18-6mdk/build/include -D__KERNEL__ -Wall -Wstrict-prototypes-O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -mpreferred-stack-boundary -march=i586 -DMODULE -c -o audiofunc.o audiofunc.c gcc: installation problem, cannot exec `cpp0': No such file or directory make: *** [audiofunc.o] Error 1 Hoping for the best, I created a symlink from: /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.0.4/cpp0 where that file could be found, to: /ussr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96 where there was no file 'ccp0'. That eliminated the 'no cpp0' error, but 'make' still fails like so: [tim@localhost exaudio-1.52]$ make gcc -I/lib/modules/2.4.18-6mdk/build/include -D__KERNEL__ -Wall -Wstrict-prototypes -02 -fomit-frame-pointer -fno-strict-aliasing -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -c -o audiofunc.o audiofunc.c In file included from audiofunc.c:37: /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:10:20: stdarg.h: No such file or directory /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:10:20: stdarg.h: No such file or directory In file included from audiofunc.c:37: /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:72: parse error before `va_list' /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:72: warning: function declaration isn't a prototype /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:75: parse error before `va_list' /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:75: warning: function declaration isn't a prototype /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:79: parse error before `va_list' /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:79: warning: function declaration isn't a prototype make: *** [audiofunc.o] Error 1 I'm kinda lost where to go from here. These messages go past my limited expertise. Can someone offer some guidance? Trying to build this on a Mandrake 8.2 box, stock 2.4.18 kernel except patched for Win4Lin, which surely has nothing to do with this. This driver is supposed to work fine with MDK8x, 9x, RH7x, 8x, 9x, etc. Thanks! Quote Link to comment Share on other sites More sharing options...
bvc Posted December 21, 2003 Report Share Posted December 21, 2003 how ya been!? hmmm....have you tried to install that version of gcc? (2.96) even if you have to force it just to compile and remove it after compile. It 'shouldn't' hurt anything....just for devel. If it does, removing your current and reinstall will fix it. Been a while that I've had multiple gcc's so I don't know about now, plus you're 8.2. [root@ml root]# urpmf cpp0 gcc2.96-cpp:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/cpp0 gcc2.96-cpp:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/tradcpp0 cups-drivers:/usr/share/cups/model/minolta/mitcpp01.ppd.gz prc-tools:/usr/lib/gcc-lib/m68k-palmos/2.95.3-kgpd/cpp0 [root@ml root]# rpm -qa | grep gcc gcc-cpp-3.3.1-2mdk gcc-3.3.1-2mdk gcc-c++-3.3.1-2mdk libgcc1-3.3.1-2mdk [root@ml root]# Quote Link to comment Share on other sites More sharing options...
bvc Posted December 21, 2003 Report Share Posted December 21, 2003 (edited) Be sure to use a version of gcc that agrees with the instructions in Documentation/Changes in your kernel sources. On certain linux distributions, you may need to use kgcc instead of gcc. You can specify this on the make command line or by editing the makefile.I'm sure you read this though. Edited December 21, 2003 by bvc Quote Link to comment Share on other sites More sharing options...
Crashdamage Posted December 22, 2003 Author Report Share Posted December 22, 2003 Hey bvc - I'm still kickin'... I guess I should've been a little clearer. Actually, I DO have gcc2.96 installed, and only gcc2.96. [root@localhost tim]# rpm -qa gcc gcc-2.96-0.76mdk [root@localhost tim]# urpmf cpp0 gcc-cpp:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/cpp0 gcc3.0-cpp:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.0.4/cpp0 This output shows there is /2.96/cpp0 because of the symlink I made. I only have a few gcc-3.04 files installed, from a package called gcc3.0-ccp. It must've been installed sometime to satisfy dependencies, who knows, probably because some files, 'cpp0' for one, isn't included in the rpm for gcc2.96. That's why I created the symlink, to try to get past the 'no cpp0' error. I figured if I could get it to finish compiling, I'd deal with the version of 'cpp0' later if it failed to load and run, but I've gotta build it first to see if that's even gonna be a problem. Anyway, for what it's worth it did get it past that, but now I'm lost with that next set of errors. As for: "Be sure to use a version of gcc that agrees with the instructions in Documentation/Changes in your kernel sources. On certain linux distributions, you may need to use kgcc instead of gcc. You can specify this on the make command line or by editing the makefile. I'm sure you read this though." Yeah, I saw that. 2.96 is the 'approved' version. Good to hear from you - I feel better already knowing you're on the case. Hope you've got ideas... Quote Link to comment Share on other sites More sharing options...
sarah31 Posted December 22, 2003 Report Share Posted December 22, 2003 (edited) well do you knwo for sure what package requires those lib files? if the 3.0.4 lib files are not require for runtime depends of any package then why not remove the package and the symlink and try rebuilding. you errors could all boil down to those 3.0.4 files. well edit that actually...it looks like your kernel header files have depreciated code or missing code. Edited December 22, 2003 by sarah31 Quote Link to comment Share on other sites More sharing options...
Crashdamage Posted December 23, 2003 Author Report Share Posted December 23, 2003 Depreciated or missing code? It's the stock kernel... Any idea where to go from here??? I've gotten no help from posting this on a couple of newgroups or searching Google. Quote Link to comment Share on other sites More sharing options...
bvc Posted December 23, 2003 Report Share Posted December 23, 2003 [root@localhost /]# urpmf stdarg.h gcc:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/include/stdarg.h gcc2.96:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stdarg.h dev86-devel:/usr/lib/bcc/include/stdarg.h dietlibc-devel:/usr/lib/dietlibc/include/stdarg.h pccts-devel:/usr/include/pccts/pccts_stdarg.h pnetC:/usr/share/cscc/include/stdarg.h tcc:/usr/lib/tcc/include/stdarg.h so cpp0 and stdarg.h are both in gcc2.96 Quote Link to comment Share on other sites More sharing options...
Crashdamage Posted December 23, 2003 Author Report Share Posted December 23, 2003 "so cpp0 and stdarg.h are both in gcc2.96" Code: [tim@localhost tim]$ urpmf stdarg.h pccts-devel:/usr/include/pccts/pccts_stdarg.h gcc:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stdarg.h egcs:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/egcs-2.91.66/include/stdarg.h gcc3.0:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.0.4/include/stdarg.h (snip) Well, 'cpp0' sorta is, by the link I made. And clearly, 'stdarg.h' is there, in 2.96, among many other places. So why doesn't 'make' find it? I gotta take a look at the makefile...must be looking in the wrong place... Still, even if I edit the makefile and succeed in getting past the 'stdarg.h' thing, I'm thrown by the last few kernel errors - yeezz, I got a lot to learn. Quote Link to comment Share on other sites More sharing options...
Crashdamage Posted December 23, 2003 Author Report Share Posted December 23, 2003 Well, the makefile was no help... I know the compiler can't find 'stdarg.h' but I don't know where to put a link to it 'cause I don't know where it's looking - or why it's not finding. Someone suggested I might have to specify to the compiler the location of 'stdarg.h' as an option. Should I take a little time to read up 'man gcc' and try doing it? Quote Link to comment Share on other sites More sharing options...
bvc Posted December 23, 2003 Report Share Posted December 23, 2003 (edited) I should have mentioned this and been more technical and assumed it had to do with you being 8.2. For me cpp0 is in gcc2.96-cpp stdarg.h is in gcc2.96 your cpp0 is in gcc-cpp stdarg.h is in gcc neither of which are either 2.96 or 3.x but just gcc the only rpm that seems installed on your sys is [root@localhost tim]# rpm -qa gccgcc-2.96-0.76mdk do it again with rpm -qa | grep gcc again here's mine [root@ml root]# rpm -qa | grep gccgcc-cpp-3.3.1-2mdk gcc-3.3.1-2mdk gcc-c++-3.3.1-2mdk libgcc1-3.3.1-2mdk [root@ml root]# remember urpmf searches the database and cares not was is or is not installed but just what's available. So it appears you need to install some rpms....in fact, install all you can. Hope that does it for ya. Otherwise, it could be that it's one one those picky <version> deals and you'll have to change them all to the more updated way as mine are shown above. Edited December 23, 2003 by bvc Quote Link to comment Share on other sites More sharing options...
sarah31 Posted December 23, 2003 Report Share Posted December 23, 2003 what i meant is that your kernel.h does not contain a reference to stdarg.h. audiofunc.c in the source you are trying to compile makes ference to the kernel.h header which is fouind without a problem but the problem with kernel.h is that there is no reference to stdarg.h. the source you are compiling is expecting it though. that is what i mean by your kernel headers are depreciated or missing code. there were likley changes in gcc standards forced kernel coding changes for the header files. however, the changes did not take place unitl after your kernel version. i am not completely sure of this (without looking at your kernel.h file) but that is what the error is telling me. Quote Link to comment Share on other sites More sharing options...
bvc Posted December 23, 2003 Report Share Posted December 23, 2003 what i meant is that your kernel.h does not contain a reference to stdarg.h. audiofunc.c in the source you are trying to compile makes ference to the kernel.h header which is fouind without a problem but the problem with kernel.h is that there is no reference to stdarg.h. the source you are compiling is expecting it though. I think it does reference it but as it says /lib/modules/2.4.18-6mdk/build/include/linux/kernel.h:10:20: stdarg.h: No such file or directory because from his urpmf stdarg.h gcc:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/stdarg.his not installed. neither is gcc-cpp:/usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/cpp0but we really won't know that these pkgs are not installed untilrpm -qa | grep gcc is done. If then all the correct pkgs are installed, the files from the pkgs are in there respective places and are not selfmade symlinks, and the same error persist then the kernel headers can be taken into consideration IMO. Quote Link to comment Share on other sites More sharing options...
Crashdamage Posted December 23, 2003 Author Report Share Posted December 23, 2003 Ok, thanks to both of you. I get what you're both saying. And bvc, I've definetly killed too many brain cells over the years, 'cause I sure should've caught that gcc/gcc2.96 thing myself. Duh! But I'm absolutely covered up at work right now and got last minute Christmas stuff that needs attention. I'll sort this out more as soon as I have time, install some additional devel packages, make sure everything is where it should be, then double check it again, and when I'm sure I've got it I'll try compiling again and see if I get happy. Happy or sad, I'll post the result here, in case anyone else cares. Hey, I'm still a raw noob at this kinda stuff...thanks, guys, for your patience. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.