Hello all. I'm trying to work though a looong linux problem- one where it seems simple enough to fix, but once you get 15 mins into the problem you soon learn that about 5 more issues must be addressed before you can solve your initial problem...
Anyway... I'm running Mandrake 9 and my problem is that when I did a "make" on something I want to install I got an error message telling me to:
"Now copy /boot/vmlinuz.version.h to /lib/modules/`uname -r`/build/include/linux/version.h"
Sounds simple enough, but I don't have the "/boot/vmlinuz.version.h" file on my system- at least not at that location or by that name. I did a 'find / -name "version.h"' to see if I had that file at a different location, but nothing came up that looked like it would be the correct file.
I searched Google for my answer, but all I can come up with is that my system simply doesn't have the file, so my question is this- how do I get it? Would it be on any of my 3 CDs with that name? Is it somewhere else with a different name (you know, just to confuse me)?
Any help would be appreciated. Hopefully I can get this solved so I can get to my ultimate goal- installing an app that will allow me to mount FTP sites and stuff like that for easy file uploading/downloading.
Thanks in advance.
MK
the filename "/boot/vmlinuz.version.h" is probably not meant to be taken literally. have you tried just "/boot/vmlinuz" ? on my mandrake system, that's a sym link to "/boot/vmlinuz-2.4.21-0.13mdk", which _might_ be the file you are looking for. otherwise, i'd say it's looking for a header file for the kernel source, which you could probably generate with the kernel config tool of your choice.
I'll see if vmlinuz-2.4.19-16mdksecure is the file I'm looking for since that's where my vmlinuz sym link points to. the thing that threw me was that a search on google seemed to imply that I was supposed to have a file with that exact name.
I tried so much stuff last night (without documenting what I exactly tried- stupid me) that I may have tried that, but I'll give that a shot and see what happens. Thanks.
Well, doing that got me the same type of errors I was getting before and they stongly imply that the file I copied was incorrect. Here's the beginning of what I got before I stopped it via ctrl+c:
make
make all-recursive
make[1]: Entering directory `/usr/src/lufs-0.9.5'
Making all in kernel
make[2]: Entering directory `/usr/src/lufs-0.9.5/kernel'
Making all in Linux
make[3]: Entering directory `/usr/src/lufs-0.9.5/kernel/Linux'
Making all in 2.4
make[4]: Entering directory `/usr/src/lufs-0.9.5/kernel/Linux/2.4'
source='proc.c' object='proc.o' libtool=no \
depfile='.deps/proc.Po' tmpdepfile='.deps/proc.TPo' \
depmode=gcc3 /bin/sh ../../../config/depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I/lib/modules/2.4.19-16mdksecure/build/include -I/usr/src/lufs-0.9.5/include -DMODVERSIONS -include /lib/modules/2.4.19-16mdksecure/build/include/linux/modversions.h -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing -mpreferred-stack-boundary=2 -Wall -D__KERNEL__ -DMODULE -DLINUX -c `test -f 'proc.c' || echo './'`proc.c
In file included from proc.c:23:
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\270' in program
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\300' in program
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\7' in program
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\216' in program
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\330' in program
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\270' in program
In file included from proc.c:23:
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1:7: warning: null character(s) ignored
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\220' in program
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\216' in program
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\300' in program
/lib/modules/2.4.19-16mdksecure/build/include/linux/version.h:1: stray '\271' in program
And it keeps going on and on and on from there. Any other suggestions? Thanks in advance, btw...
vmlinuz is the kernel itself, it isn't a header file
Yeah, everything I find on Google seems to imply that I should have a file with the exact name vmlinuz.version.h, so I'm stumped. Maybe I need to uninstall all the source rpms and reinstall them and see if that helps. :-?
i'd try /boot/kernel.h or /usr/include/linux/version.h
don't have much more of a clue than that. though in some brief (very brief) googling i did on the topic, i noticed that most of the hits were related to SuSE - maybe this is something not in the mandrake distro? maybe you should try #mandrake on IRC next. sorry i couldn't be of more help, especially being that i am one of the very few forum goers that actually use mandrake 9. good luck.
You were of help and I greatly appreciate it. I would up "fixing" the problem using a pretty ugly method. I whipped out VMware 4.0 since I was doing a Windows 2003 Enterprise install anyway, and installed Mandrake 9 to on of it's virtual partitions (or whatever VM calls it). (I didn't mind doing this since my Mandrake box isn't in a location that I can use it a lot. No X installed on it anyway.)
So, I installed another Mandrake (a bit more properly this time) and found that the app I was trying to install worked flawlessly. So, I cheated and grabbed it's version.h file (only 380-something chars) and pasted the file into my old system. Now, it appears to work just fine.
Just for curiosity's sake, here's the contents of the file I was struggling to come up with:
#include
#if defined(__module__smp)
#define UTS_RELEASE "2.4.19-16mdksmp"
#elif defined(__module__enterprise)
#define UTS_RELEASE "2.4.19-16mdkenterprise"
#elif defined(__module__up)
#define UTS_RELEASE "2.4.19-16mdk"
#else
#define UTS_RELEASE "2.4.19-16mdksecure"
#endif
#define LINUX_VERSION_CODE 132115
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
So, anyway, thanks bill. I'll be sure to let you know if I run into any more problems with this or any other Mandrake-related issues.
Sorry I wasn't here earlier.
All you need to do was go to where you keep your kernel source files and configuration, do a "make distclean ; make menuconfig".
Now, you would need to load up your configuration or create a new one, then save and quit the menuconfig.
Then do "make dep". It'll make a version.h file for you (I ran into this the other day when trying to build something that needed kernel version info; I forget what I was trying to build though).
I'm not sure if you'll have to go all the way through with "make bzImage modules modules_install && cp arch/i386/boot/bzImage /boot/vmlinuz" (and then setting up your boot manager) or not, but you might.