[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: