![](https://seccdn.libravatar.org/avatar/bc1efdd7cadcc5c363a124c8a7f2e976.jpg?s=120&d=mm&r=g)
Hallo Peter, Am Mittwoch, 5. Juni 2002 23:19 schrieb Peter Wiersig:
Andre Heine wrote:
Dieses Verzeichnis sollte eigentlich ein _link_ auf /usr/src/linux/include/linux sein.
Ganz sicher nicht.
Ich lese gerade in "Linux Gerätetreiber v2". Du hast recht, ab libc Version5 ist man davon abgegangen. Normal _sollte_ keine Applikation die Kernel Header einbinden. Zitat: "Diese symbolischen Links machten es User-Space-Anwendungen einfach, Kernel Header Dateien einzubinden, was ab und zu einmal nötig ist" Hmm, steht nichts von Gefahr... Wie schon erwähnt, ich habe selber kleine Module geschrieben. Es ist einfach doof, wenn in /usr/include/linux falsche Header's liegen. Dort wird nämlich als erstes vom Compiler gesucht. Sicher kann man die Pfad angaben absolut angeben, oder auch die Konfiguration verändern. Ich hatte jedenfalls beim Kompilieren von meinen Modulen und Kerneln kein Problem damit. Für Qt oder sonstiges werden diese Header IMHO nicht gebraucht.
Ich habe es gelöscht und durch einen link
Korrigiere! mv linux linux_old
ersetzt.(/usr/src/linux).
Es kann sonst zu einigen Problemen bei der Kompilation geben.
Und du hast Glueck wenn danach noch ein Programm uebersetzt werden kann.
Tja, sieht so aus, als hätte ich viel verdammtes Glück:))
In the past, it was common practice for people to symlink the /usr/include/linux and asm directories to /usr/src/linux/include/linux and asm respectively. This is a bad idea as this extract from a post by Linus Torvalds to the Linux Kernel Mailing List points out:
Mein Ansatz scheint nicht gewollt zu sein, sehe ich auch ein. Aber ein Problem hatte ich damit noch nicht.
"I would suggest that people who compile new kernels should:
- not have a single symbolic link in sight (except the one that the kernel build itself sets up, namely the "linux/include/asm" symlink that is only used for the internal kernel compile itself)
And yes, this is what I do. My /usr/src/linux still has the old 2.2.13 header files, even though I haven't run a 2.2.13 kernel in a _loong_ time. But those headers were what glibc was compiled against, so those headers are what matches the library object files.
Dieser Umstand war mir nicht bekannt, bis jetzt jedenfalls. In meinem Buch habe ich bis jetzt nichts davon gelesen :(
And this is actually what has been the suggested environment for at least the last five years. I don't know why the symlink business keeps on living on, like a bad zombie. Pretty much every distribution still has that broken symlink, and people still remember that the linux sources should go into "/usr/src/linux" even though that hasn't been true in a _loong_ time.
Also, wieder removen und muß nun doch: "/usr/src/linux/include/linux/version.h" anstatt "linux/verion.h" schreiben ;(( Spaß bei Seite, Sicherheit geht natürlich vor! Ciao Andre