[suse 7.2] rshaper foutmelding -> kernel too old

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Den the Man
  • Registratie: Mei 2000
  • Niet online
ik heb van freshmeat.net het programma rshaper gedownload.

Dit heb ik geuntarred en het commando "make" er op losgelaten. Deze laat een hand vol warnings zien en de tekst:

sysdep.h:18: #error "This kernel is too old: not supported by this file"


Ik heb Suse 7.2 geïnstalleerd, dat zou nieuw genoeg moeten zijn?

Hoe krijg ik traffic shaper aan de praat?

Pak je rust!


Acties:
  • 0 Henk 'm!

  • Predator
  • Registratie: Januari 2001
  • Laatst online: 10:40

Predator

Suffers from split brain

[forum=19] -> [forum=23]

Everybody lies | BFD rocks ! | PC-specs


Acties:
  • 0 Henk 'm!

Verwijderd

Heb je de README gelezen ? Daar staan instructies in hoe dat ding aan de praat te krijgen. Zo is daar te lezen dat voor 2.2 en 2.0 kernels bepaalde handelingen gedaan moeten worden.Aan de foutmelding te zien heb je een 2.2 kernel en probeer je rshaper voor een 2.4 kernel te bakken.

Acties:
  • 0 Henk 'm!

  • Den the Man
  • Registratie: Mei 2000
  • Niet online
in suse 7.2 zit toch al een 2.4 kernel?

Pak je rust!


Acties:
  • 0 Henk 'm!

Verwijderd

Volgens mij kan beide bij SuSE 7.2 een 2.2.x of een 2.4.x kernel.

Acties:
  • 0 Henk 'm!

  • Den the Man
  • Registratie: Mei 2000
  • Niet online
Als mijn suse machine is opgestart staat er: Welcome to SuSE linux 7.2 (i386) Kernel 2.4.4-4GB

edit:


Dit staat er in de text dat voorbij komt vliegen als ik make heb ingtikt:
[code]/usr/include/linux/version.h:2: #error "======================================================="
/usr/include/linux/version.h:3: #error "You should not include /usr/include/{linux,asm}/ header"
/usr/include/linux/version.h:4: #error "files directly for the compilation of kernel modules."
/usr/include/linux/version.h:5: #error ""
/usr/include/linux/version.h:6: #error "glibc now uses kernel header files from a well-defined"
/usr/include/linux/version.h:7: #error "working kernel version (as recommended by Linus Torvalds)"
/usr/include/linux/version.h:8: #error "These files are glibc internal and may not match the"
/usr/include/linux/version.h:9: #error "currently running kernel. They should only be"
/usr/include/linux/version.h:10: #error "included via other system header files - user space"
/usr/include/linux/version.h:11: #error "programs should not directly include <linux/*.h> or"
/usr/include/linux/version.h:12: #error "<asm/*.h> as well."
/usr/include/linux/version.h:13: #error ""
/usr/include/linux/version.h:14: #error "To build kernel modules please do the following:"
/usr/include/linux/version.h:15: #error ""
/usr/include/linux/version.h:16: #error " o Have the kernel sources installed"
/usr/include/linux/version.h:17: #error ""
/usr/include/linux/version.h:18: #error " o Make sure that the symbolic link"
/usr/include/linux/version.h:19: #error " /lib/modules/`uname -r`/build exists and points to"
/usr/include/linux/version.h:20: #error " the matching kernel source directory"
/usr/include/linux/version.h:21: #error ""
/usr/include/linux/version.h:22: #error " o Now copy /boot/vmlinuz.version.h to"
/usr/include/linux/version.h:23: #error " /lib/modules/`uname -r`/build/include/linux/version.h"
/usr/include/linux/version.h:24: #error ""
/usr/include/linux/version.h:25: #error " o When compiling, make sure to use the following"
/usr/include/linux/version.h:26: #error " compiler option to use the correct include files:"
/usr/include/linux/version.h:27: #error ""
/usr/include/linux/version.h:28: #error " -I/lib/modules/`uname -r`/build/include"
/usr/include/linux/version.h:29: #error ""
/usr/include/linux/version.h:30: #error " instead of"
/usr/include/linux/version.h:31: #error ""
/usr/include/linux/version.h:32: #error " -I/usr/include/linux"
/usr/include/linux/version.h:33: #error ""
/usr/include/linux/version.h:34: #error " Please adjust the Makefile accordingly."
/usr/include/linux/version.h:35: #error "======================================================="[/code]
aangezien in een beginner ben op het gebied van linux, weet ik niet waar ik dit moet veranderen

Pak je rust!


Acties:
  • 0 Henk 'm!

Verwijderd

Dan is mijn verhaal niet van toepassing, dan gebruik je een 2.4 kernel dus.

Acties:
  • 0 Henk 'm!

  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Op maandag 24 juni 2002 12:42 schreef Den the Man het volgende:
Als mijn suse machine is opgestart staat er: Welcome to SuSE linux 7.2 (i386) Kernel 2.4.4-4GB

edit:


Dit staat er in de text dat voorbij komt vliegen als ik make heb ingtikt:

[...]

aangezien in een beginner ben op het gebied van linux, weet ik niet waar ik dit moet veranderen

Zoals de make output zegt zijn er twee sets kernel include headers. Namelijk de kernel include headers die gebruikt zijn bij het compileren van de glibc (systeem library) en de kernel include headers van de kernel zelf.

Deze hoeven niet van de zelfde versie te zijn aangezien de kernel versie kan afwijken van de kernel waarvoor de glibc is gecompileerd.

Voor normale programma's die glibc gebruiken om met de kernel te communiceren is de set kernel headers die bij glibc horen voldoende.

Echter wanneer je modules gaat maken die in de kernel worden geladen (wat hiet waarschijnlijk de bedoeling is) moet je bij het compileren de kernel include headers van de kernel zelf gebruiken en niet van glibc.

Hiertoe moet je de source installeren die gebruikt is om je huidige kernel te compileren (bij Suse vandaan halen) en in /lib/modules/2.4.4 (of /lib/modules/2.4.4-4GB, zie output "uname -r") een link met de naam 'build' naar de kernel source directory plaatsen.

bv:

ln -s /usr/src/linux /lib/modules/2.4.4/build

Let op, alleen de kernel source in /usr/src/linux plaatsen als daar al niks anders staat. Sommige distro's zetten namelijk de glibc headers in /usr/src/linux die je dan zou overschrijven.
Zet de kernel source anders in bv /usr/src/kernel-2.4.4 en laat de build link hierna verwijzen.


Tevens moet je de Makefile van rshaper aanpassen en "-I/usr/include/linux" vervangen door -I/lib/modules/2.4.4/build/include"


Tevens moet je het bestand /boot/vmlinuz.version.h copieeren
naar /lib/modules/2.4.4/build/include/version.h.

Als je geen /boot/vmlinuz.version.h hebt maar wel een /boot/config-2.4.4 (of iets wat er op lijkt), copier die dan naar /lib/modules/2.4.4/build/.config en doe 'make oldconfig' in de directory /lib/modules/2.4.4/build.
Dat zou als het goed is de version.h file moeten aanmaken.

Als dat niet lukt kan je beter zelf een nieuwe kernel compileren en installeren zodat je zeker weet dat de rshaper module bij je kernel past.

Dat laatste is overigens geen slecht idee want dan kan je gelijk een nieuwere kernel versie gebruiken (2.4.18 is redelijk stabiel) omdat jouw kernel versie 2.4.4 een aantal bekende problemen heeft (bv local root exploite).

Succes:)

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)

Pagina: 1