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

Re: Problem beim fritz kompilieren



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.

> Ob es da generell eine Änderung bei gcc/make gegeben hat kann ich nicht
> sagen, evtl. geben die README.Debian bzw. changelogs einen Hinweis.

hmh, k, ich schau nachher mal nach...bin noch müde ;)

Danke nochmal.

ciao,

Stefan




Reply to: