Toon posts:

[linux suse8.1] compileer error

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik vind de linux uitleggen soms wat onduidelijk...
Iets nieuws. Ik probeer iets te compileren en krijg een heel verhaal verwerkt zit in de output. Heel netjes, dat zeker, maar ik begrijp het niet helemaal. Ik zal het even copieren...:

******************************
You should not include /usr/include/{linux,asm}/ header
files directly for the compilation of kernel modules.

glibc now uses kernel header files from a well-defined
working kernel version (as recommended by Linus Torvalds)
These files are glibc internal and may not match the
currently running kernel. They should only be
included via other system header files - user space
programs should not directly include <linux/*.h> or
<asm/*.h> as well.

To build kernel modules please do the following:

o Have the kernel sources installed"

o Make sure that the symbolic link"
/lib/modules/`uname -r`/build exists and points to"
the matching kernel source directory"

o Now copy /boot/vmlinuz.version.h to"
/lib/modules/`uname -r`/build/include/linux/version.h"

o When compiling, make sure to use the following"
compiler option to use the correct include files:"

-I/lib/modules/`uname -r`/build/include"

instead of"

-I/usr/include/linux"

Please adjust the Makefile accordingly."
*******************************

Dat van die symbolic link snap ik niet. Hoe moet ik die nou noemen? Ik weet niet wat ze met /lib/modules/`uname -r`/builds bedoelen. Moet ik voor 'uname -r' iets in de plaats zetten of moet ik die link letterlijk zo noemen?

Verder kom ik er wel uit denk ik.

[ Voor 6% gewijzigd door Verwijderd op 18-12-2002 20:01 ]


Verwijderd

Tik maar es op je prompt in: echo /lib/modules/`uname -r`/build

:)

Die ` tekentjes heten 'backticks' en dat houd weer in dat je shell eerst het commando wat daarin staat uit voert, en de output die uit dat commando komt gebruikt voor het verwerken van de hele opdracht.

Dus je moet iets doen als 'ln /usr/src/linux /lib/modules/`uname -r`/build', er van uitgaande dat je kernelsource in /usr/src/linux staat ;)

[ Voor 11% gewijzigd door Verwijderd op 18-12-2002 20:22 . Reden: het is nationale pas-je-post-aan dag ]


Verwijderd

Topicstarter
maar betekent dit nou dat ik van alles wat ik wil compileren zelf de makefiles moet gaan aanpassen? ik heb gezocht in de makefiles, maar ik kom er niet uit hoor. Ik ben echt niet zover dat ik makefiles zelf kan gaan editen. Dat gaat me ook wel een beetje te ver...

  • mpol
  • Registratie: September 2002
  • Laatst online: 19-01 18:45

mpol

root@localhost

Nee, dat is alleen voor de NVidia modules nodig.
Meestal hoef je ook niet te compileren, vaak is het gewoon als binary in je distributie aanwezig.
Als je wel compileert zijn er meestal configure scripts die je systeem nalopen op wat waar aanwezig is. Wel moet je dan meestal zorgen dat je de developmentpackages geinstalleerd hebt.
In dit geval heb je de kernel-source nodig van de kernel die je nu draait.

https://timelord.nl