• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Treiber bauen, make schlägt fehl, build link falsch ?

Hallo,

ich habe hier ein Suse 10.2 System auf einem AMD Dual Core 64 Bit Prozessor am laufen und wollte mir nun nen neuen Treiber für eine DigitalradioBox bauen.

mit make bekomme ich folgenden Fehler:


Code:
make
make -C /lib/modules/2.6.18.2-34-default/build M=`pwd` modules
make[1]: Entering directory `/comp'
make -C /usr/src/linux-2.6.18.2-34 O=/comp modules

  WARNING: Symbol version dump /comp/Module.symvers
           is missing; modules will have no dependencies and modversions.

  Building modules, stage 2.
  MODPOST
/bin/sh: scripts/mod/modpost: No such file or directory
make[4]: *** [__modpost] Error 127
make[3]: *** [modules] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/comp'
make: *** [build] Error 2
mir:/home/wm/dab/driver_new/usb-2.6.new #


Kernelsourcen sind installiert, die Datei modpost die hier angeblich fehlt liegt hier

Code:
/usr/src/linux/scripts/mod/modpost

und nicht wie das make erwartet unter

Code:
/comp


Vom Treiberprogrammierer habe ich folgenden Tip bekommen:

"Der Fehler (modpost fehlt) klingt eher so, als wäre nicht der vollständige
Kernelsource installiert und konfiguriert. Der build-Link zeigt evtl. nicht
auf den richtigen Pfad in /usr/src."

wie gesagt, Kernelsource ist drin, der angesprochene build Link unter

Code:
/lib/modules/2.6.18.2-34-default/

zeigt aber auf das Verzeichnis /comp

Code:
mir:/lib/modules/2.6.18.2-34-default # ls -l build
lrwxrwxrwx 1 root root 5 Nov  6  2007 build -> /comp


ist das denn richtig so ?

die Datei die oben fehlt (Module.symvers) liegt jedenfalls genau da.

ich habe noch einen 2. PC (Intel 4core, ebenfalls Suse 10.2 aber neuerer Kernel, da zeigt der build link auf

Code:
lenny:/lib/modules/2.6.18.8-0.7-default # ls -l build
lrwxrwxrwx 1 root root 46 Jan 28 02:41 build -> /usr/src/linux-2.6.18.8-0.7-obj/x86_64/default


komischerweise ... ich nehme der link muß richtigerweise auf das /usr/src/linux Verzeichnis zeigen, bleibt die Frage, warum ist das beim 1. System nicht so (Kernelsourcen über Yast installiert) und kann ich den link mit löschen und mit ln-s neu bauen ?

wo genau muss der link denn dann drauf zeigen ?

Code:
mir:/usr/src/linux-2.6.18.2-34-obj/x86_64/default
-> richtig ?

ich hatte vor einiger Zeit auch Probleme beim Installieren von LIRC auf diesem PC und habe das seinerzeit gelöst indem ich alle notwendigen Pfade beim ./configure mit übergeben habe

->

Code:
/configure --with-kerneldir=/usr/src/linux-2.6.18.2-34-obj/x86_64/default --with-driver=serial --with-moduledir=/lib/modules/2.6.18.2-34-default/misc --with-port=0xcc00 --with-irq=217 --with-transmitter --with-soft-carrier

damit konnte ich damals das LIRC bauen.
 
Wieso build -> /comp? Bei SUSE und allen korrekt kompilierten RPMs ist es normalerweise build -> /usr/src/linux-*-obj/* wie du festgestellt hast. Da ist also was vermurkst.
 
A

Anonymous

Gast
jengelh schrieb:
Da ist also was vermurkst.

ACK.

Und am einfachsten beseitigt man diesen Murks durch ein schon längst überfälliges Online-Update auf den aktuellen Distributionskernel der 10.2, namentlich 2.6.18.8-0.9.
 
OP
F

fritzbee21

Hacker
Kernel Update ?


Nee lass mal, da baue ich lieber den Link neu, nachher funzt die Hälfte net mehr wegen dem neuen Kernel .... da bin ich sehr vorsichtig
 
A

Anonymous

Gast
Stimmt, wäre ja wirklich zu schade, wenn nach dem Kernelupdate z.B. der Root-Exploit

http://www.pro-linux.de/news/2008/12317.html

nicht mehr "funzen" würde.

*Kopfschüttel*
 
Die aktuellen Kernel-Versionen aus den update-Repos sind seit etwa 3 Monaten im Einsatz, sie können also als erprobt gelten. "Abschießen" kannst Du Dir damit allerhöchstens einen Grafikkartentreiber, falls Du diesen nicht über die Repos installiert hast - neu installieren und gut ist.

Ansonsten ist es aber schon einigermaßen absurd, dass Du Dir bezüglich eines updates aus den offiziellen Quellen so einen Kopf machst, andererseits aber mit irgendwelchen selbstgebauten Modulen herumjonglierst. Das passt nicht zusammen, daher auch der entsprechende Kommentar von R_M.
 
Oben