Re: Problem beim fritz kompilieren
Guten Tag Stefan Schilling,
Hallo nochmal!
Hier die Lösung:
am Sonntag, 30. April 2006 um 10:34 schrieben Sie:
> Guten Tag Gerhard Brauer,
> am Sonntag, 30. April 2006 um 06:37 schrieben Sie:
>> Gruesse!
>> * Stefan Schilling <mail.suse@gmx.de> schrieb am [29.04.06 19:22]:
>>>
>>> OK, ich hab gestern abend einen neuen Kernel gebastelt und musste dann
>>> deshalb natürlich auch die fritzcard Treiber neumachen.
>>>
>>> korfu:/usr/local/src# cd fritz/src/
>>> korfu:/usr/local/src/fritz/src# make
>>> make -C /lib/modules/2.6.16.9/build SUBDIRS=/usr/local/src/fritz/src modules
>>> make[1]: Entering directory `/usr/src/linux-2.6.16.9'
>>> CC [M] /usr/local/src/fritz/src/main.o
>>> In file included from /usr/local/src/fritz/src/queue.h:27,
>>> from /usr/local/src/fritz/src/tables.h:31,
>>> from /usr/local/src/fritz/src/driver.h:31,
>>> from /usr/local/src/fritz/src/main.c:45:
>>> /usr/local/src/fritz/src/tools.h:74: Fehler: Fehler beim Parsen vor "typeof"
>>> make[2]: *** [/usr/local/src/fritz/src/main.o] Fehler 1
>>> make[1]: *** [_module_/usr/local/src/fritz/src] Fehler 2
>>> make[1]: Leaving directory `/usr/src/linux-2.6.16.9'
>>> make: *** [fcpci.ko] Fehler 2
>>>
>>> Also nochmal in Kurz:
>>>
>>> gcc + make Version 4.x:
>>> - nichts geht
>>>
>>> gcc+make Version 3.x:
>>> - sowohl fcpci als auch fcclassic lassen sich compibilieren
>>>
>>> Hat es da eine Änderung gegeben? Wie kann ich das hier korrigieren
>>> oder muss ich den Compiler auf Ver. 3.x zurückstellen?
>> Ich habe es bisher nie mit einem gcc/make > 3 versucht (kann ich später
>> mal austesten), aber als evtl. Tips:
>> - Weder in main.c noch tools.h habe ich auf die schnelle die
>> angemeckerte typeof gefunden. Kann also sein, daß das Problem bei der
>> Inkludierung der Kernel-Includes passiert. Teste doch mal, in dem du dem
>> include-Zweig deines aktuellen Kernel Vorrang vor dem (testing war es
>> glaube ich) System-Include gibst. Sollte sich mit einem gcc/make
>> Schalter bzw. IncludePath(env) machen lassen, ich bin allerdings nicht
>> der C-Programmierer. Oder durch einfaches temporäres Umlinken von
>> /usr/include/linux nach dem Entsprechenden deines Kernel-Trees.
> Ich hab nochmal nachgeschaut, in der fritz/src/tools.h befindet sich
> folgende Befehlsreihe:
> extern void lprintf (const char *, const char *, ...);
> extern void vlprintf (const char *, const char *, va_list);
> /*---------------------------------------------------------------------------*\
> \*---------------------------------------------------------------------------*/
> static inline unsigned long atomic_xchg (
> volatile atomic_t * v,
> unsigned value
> ) {
> return __xchg (value, &v->counter, sizeof (unsigned));
> } /* atomic_xchg */
> /*---------------------------------------------------------------------------*\
> er stört sich halt an diesem "sizeof (unsigned))". Daher denke ich
> nicht, dass es ein generelles Kernelproblem ist; der Befehl findet
> sich ja nicht in irgendeinem Kernelmodul sondern in dem Treiberpaket
> selbst.
Nachdem ich den gesamten o.s. Teil entfernt -kommentiert- hatte,
liefs durch und es funktioniert.
Vielen Dank und einen schönen Tag noch!
cu,
Stefan
Reply to: