Kompilierfehler bei Winmodem-Treiber
Hallo, eine Freundin von mir hat sich einen Laptop gekauft und nun konnte ich Sie dazu überreden, dass sie einmal Linux ausprobiert. SuSE 8.2 lies sich auch super installieren und es wurde alles, bis auf das Modem, richtig erkannt. Bei diesem Modem handelt es sich um ein Winmodem. Den zugehörigen Treiber (pctel-0.9.6) habe ich auch gefunden. Nun lässt dieser sich aber nicht kompilieren. das ./configure zeigt mir keine Fehlermeldungen das make erzeugt folgende Ausgabe: ptserial.c ptserial.c: In function `set_serial_info': ptserial.c:2212: warning: comparison between signed and unsigned ptserial.c: In function `rs_wait_until_sent': ptserial.c:2922: warning: comparison between signed and unsigned ptserial.c: In function `rs_open': ptserial.c:3174: warning: comparison between signed and unsigned ptserial.c: In function `line_info': ptserial.c:3305: warning: signed and unsigned type in conditional expression ptserial.c: In function `rs_read_proc': ptserial.c:3358: warning: comparison between signed and unsigned ptserial.c: In function `serial_remove_one': ptserial.c:4134: warning: comparison between signed and unsigned ptserial.c: In function `rs_init': ptserial.c:4320: warning: comparison between signed and unsigned ptserial.c:4351: warning: comparison between signed and unsigned ptserial.c: In function `register_serial': ptserial.c:4434: warning: comparison between signed and unsigned ptserial.c:4441: warning: comparison between signed and unsigned ptserial.c:4448: warning: comparison between signed and unsigned ptserial.c: In function `rs_fini': ptserial.c:4740: warning: comparison between signed and unsigned make[3]: *** [ptserial.o] Fehler 1 make[3]: Leaving directory `/home/jenny/pctel-0.9.6/src/ptserial' make[2]: *** [all] Fehler 2 make[2]: Leaving directory `/home/jenny/pctel-0.9.6/src/ptserial' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/home/jenny/pctel-0.9.6/src' make: *** [all-recursive] Fehler 1 Dieses Problem konnte ich bis jetzt nirgends finden. Es tritt auch auf einem anderen Rechner mit SUSE 8.2 genauso auf. Ich _vermute_, dass es etwas mit dem neuen gcc zu tun hat. Das weiss ich aber nicht, da ich mich damit nicht richtig auskenne. ICh poste dieses Problem auch auf dieser Liste und nicht auf suse-laptop, da es kein Laptop-Problem, sondern ein Kompilierproblem ist. Ich hoffe es kann mir jemand helfen, da sonst leider wieder Win*** X* drauf muss. Danke, Holger -- Tabs, progs & docs http://www.sgt-hulder.de Man kauft das, was man nicht braucht, mit dem Geld das man nicht hat, um dem zu imponieren, den man nicht mag.
Hallo, On Tue, 27 May 2003, Holger Macht wrote:
das ./configure zeigt mir keine Fehlermeldungen das make erzeugt folgende Ausgabe: ptserial.c ptserial.c: In function `set_serial_info': ptserial.c:2212: warning: comparison between signed and unsigned [..] ptserial.c:4740: warning: comparison between signed and unsigned
Das sind alles nur warnings, der Fehler muss irgendwo vorher sein. Bastel mal ein '-Wno-sign-compare' in die CFLAGS mit rein (je nach Makefile ist das unterschiedlich leicht/schwierig)... Dann fallen werden diese Meldungen wg. (un)signed unterdrueckt, und man sieht eher den Wald... ;) -dnh -- Der nächste DAU kommt bestimmt. Sie werden in den Kellern von AOL gezüchtet. [Dieter Bruegmann in dag°]
David Haller
ptserial.c:2212: warning: comparison between signed and unsigned [..] ptserial.c:4740: warning: comparison between signed and unsigned
Das sind alles nur warnings, der Fehler muss irgendwo vorher sein.
Das sind zwar nur Warnungen, können aber trotzdem Indizien für echte Bugs sein, wie mir das Bereinigen einiger Pakete in letzter Zeit gezeigt hat. Man muss sich halt der Regeln der signed/unsigned Vergleiche bewusst sein, um die Tests dann ggfs. zu korrigieren.
Bastel mal ein '-Wno-sign-compare' in die CFLAGS mit rein (je nach Makefile ist das unterschiedlich leicht/schwierig)... Dann fallen werden diese Meldungen wg. (un)signed unterdrueckt, und man sieht eher den Wald... ;)
Viel besser ist es, sie zu fixen :) Philipp
Hallo, On Tue, 27 May 2003, Philipp Thomas wrote:
David Haller
[27 Mai 2003 14:11:19 +0200]: ptserial.c:2212: warning: comparison between signed and unsigned [..] ptserial.c:4740: warning: comparison between signed and unsigned
Das sind alles nur warnings, der Fehler muss irgendwo vorher sein.
Das sind zwar nur Warnungen, können aber trotzdem Indizien für echte Bugs sein, wie mir das Bereinigen einiger Pakete in letzter Zeit gezeigt hat. Man muss sich halt der Regeln der signed/unsigned Vergleiche bewusst sein, um die Tests dann ggfs. zu korrigieren.
Aber ja.
Bastel mal ein '-Wno-sign-compare' in die CFLAGS mit rein (je nach Makefile ist das unterschiedlich leicht/schwierig)... Dann fallen werden diese Meldungen wg. (un)signed unterdrueckt, und man sieht eher den Wald... ;)
Viel besser ist es, sie zu fixen :)
Ja. Hab ich uebrigens auch schon oefter gemacht. Nur sind diese nicht der Grund, warum make abbricht und "auf die Schnelle" sind diese verd. sign-compare Fehler auch nicht zu fixen, da man oft das halbe Projekt verstehen muss, um zu beurteilen, wie man so einen Vergleich richtig macht. *seufz* -dnh -- 18: Vorbereitet für den Multimediaeinsatz Es sind noch zwei Slots auf dem Motherboard frei. (Peter Berlich)
Am Dienstag, 27. Mai 2003 14:11 schrieb David Haller:
Hallo,
On Tue, 27 May 2003, Holger Macht wrote:
das ./configure zeigt mir keine Fehlermeldungen das make erzeugt folgende Ausgabe: ptserial.c ptserial.c: In function `set_serial_info': ptserial.c:2212: warning: comparison between signed and unsigned
[..]
ptserial.c:4740: warning: comparison between signed and unsigned
Das sind alles nur warnings, der Fehler muss irgendwo vorher sein.
Bastel mal ein '-Wno-sign-compare' in die CFLAGS mit rein (je nach Makefile ist das unterschiedlich leicht/schwierig)... Dann fallen werden diese Meldungen wg. (un)signed unterdrueckt, und man sieht eher den Wald... ;)
Also die Ausgabe von make ist nicht besonders lang, deswegen mal die Ganze: Making all in src make[1]: Entering directory `/home/jenny/pctel-0.9.6/src' Making all in module make[2]: Entering directory `/home/jenny/pctel-0.9.6/src/module' rm -f *~ \#* .*~ .\#* rm -f ptmodule.o rm -f ptmodule.o rm -f ../../modules/pctel.o gcc -D__KERNEL__ -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB -DHAL_I8XX -DAUDIO_ROUTING -DSIS540 -I../../include -I/usr/src/linux/include -include /usr/src/linux/include/linux/modversions.h -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"pctel\" -DVERSION=\"0.9.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -c -o ptmodule.o ptmodule.c ld -r -o ../../modules/pctel.o ptmodule.o ../../lib/control.a ../../lib/vuart.o ../../lib/sis/dsp.a ../../lib/sis/i810hal.a ld -r -o tmp.o ../../lib/control.a ../../lib/vuart.o ../../lib/sis/dsp.a ../../lib/sis/i810hal.a make[3]: Entering directory `/home/jenny/pctel-0.9.6/src/module' -=- Fixing wrong symbol names: kmalloc, kfree, printk and __udelay. -=- make[3]: Leaving directory `/home/jenny/pctel-0.9.6/src/module' ld -r -o ../../modules/pctel.o ptmodule.o tmp.o make[3]: Entering directory `/home/jenny/pctel-0.9.6/src/module' -=- Fixing .modinfo section -=- make[3]: Leaving directory `/home/jenny/pctel-0.9.6/src/module' make[2]: Leaving directory `/home/jenny/pctel-0.9.6/src/module' Making all in ptserial make[2]: Entering directory `/home/jenny/pctel-0.9.6/src/ptserial' rm -f *~ \#* .*~ .\#* rm -f ptserial.o ptserial.c rm -f ptserial.o rm -f ../../modules/ptserial.o ln -s -f ptserial-2.4.7.c ../../src/ptserial/ptserial.c make ptserial.o make[3]: Entering directory `/home/jenny/pctel-0.9.6/src/ptserial' gcc -D__KERNEL__ -Werror -Wno-trigraphs -fno-common -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DMODVERSIONS -DEXPORT_SYMTAB -DHAL_I8XX -DAUDIO_ROUTING -DSIS540 -DBUILD_SYSTEM=\""`uname -s -m -r -p`\"" -DGCC_VERSION=\""`gcc --version | head -1`\"" -I../../include -I/usr/src/linux/include -include /usr/src/linux/include/linux/modversions.h -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"pctel\" -DVERSION=\"0.9.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -c -o ptserial.o ptserial.c ptserial.c: In function `set_serial_info': ptserial.c:2212: warning: comparison between signed and unsigned ptserial.c: In function `rs_wait_until_sent': ptserial.c:2922: warning: comparison between signed and unsigned ptserial.c: In function `rs_open': ptserial.c:3174: warning: comparison between signed and unsigned ptserial.c: In function `line_info': ptserial.c:3305: warning: signed and unsigned type in conditional expression ptserial.c: In function `rs_read_proc': ptserial.c:3358: warning: comparison between signed and unsigned ptserial.c: In function `serial_remove_one': ptserial.c:4134: warning: comparison between signed and unsigned ptserial.c: In function `rs_init': ptserial.c:4320: warning: comparison between signed and unsigned ptserial.c:4351: warning: comparison between signed and unsigned ptserial.c: In function `register_serial': ptserial.c:4434: warning: comparison between signed and unsigned ptserial.c:4441: warning: comparison between signed and unsigned ptserial.c:4448: warning: comparison between signed and unsigned ptserial.c: In function `rs_fini': ptserial.c:4740: warning: comparison between signed and unsigned make[3]: *** [ptserial.o] Fehler 1 make[3]: Leaving directory `/home/jenny/pctel-0.9.6/src/ptserial' make[2]: *** [all] Fehler 2 make[2]: Leaving directory `/home/jenny/pctel-0.9.6/src/ptserial' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/home/jenny/pctel-0.9.6/src' make: *** [all-recursive] Fehler 1 Danke, Holger -- Tabs, progs & docs http://www.sgt-hulder.de Man kauft das, was man nicht braucht, mit dem Geld das man nicht hat, um dem zu imponieren, den man nicht mag.
Am Die, 2003-05-27 um 14.25 schrieb Holger Macht:
Am Dienstag, 27. Mai 2003 14:11 schrieb David Haller:
Hallo,
On Tue, 27 May 2003, Holger Macht wrote:
das ./configure zeigt mir keine Fehlermeldungen das make erzeugt folgende Ausgabe: ptserial.c ptserial.c: In function `set_serial_info': ptserial.c:2212: warning: comparison between signed and unsigned
[..]
ptserial.c:4740: warning: comparison between signed and unsigned
Das sind alles nur warnings, der Fehler muss irgendwo vorher sein.
Bastel mal ein '-Wno-sign-compare' in die CFLAGS mit rein (je nach Makefile ist das unterschiedlich leicht/schwierig)... Dann fallen werden diese Meldungen wg. (un)signed unterdrueckt, und man sieht eher den Wald... ;)
Also die Ausgabe von make ist nicht besonders lang, deswegen mal die Ganze:
Making all in src make[1]: Entering directory `/home/jenny/pctel-0.9.6/src' Making all in module make[2]: Entering directory `/home/jenny/pctel-0.9.6/src/module' rm -f *~ \#* .*~ .\#* rm -f ptmodule.o rm -f ptmodule.o rm -f ../../modules/pctel.o gcc -D__KERNEL__
-Werror ^^^^^^^^^ Das ist der Auslöser des Abbruchs. Nimm das -Werror raus und der Compilerlauf sollte durchlaufen.
Ralf
Am Dienstag, 27. Mai 2003 14:28 schrieb Ralf Corsepius:
Making all in src make[1]: Entering directory `/home/jenny/pctel-0.9.6/src' Making all in module make[2]: Entering directory `/home/jenny/pctel-0.9.6/src/module' rm -f *~ \#* .*~ .\#* rm -f ptmodule.o rm -f ptmodule.o rm -f ../../modules/pctel.o gcc -D__KERNEL__
-Werror
^^^^^^^^^ Das ist der Auslöser des Abbruchs. Nimm das -Werror raus und der Compilerlauf sollte durchlaufen.
Jawoll, hat funktioniert. Danke Gruß, Holger -- Tabs, progs & docs http://www.sgt-hulder.de Man kauft das, was man nicht braucht, mit dem Geld das man nicht hat, um dem zu imponieren, den man nicht mag.
Am Die, 2003-05-27 um 13.28 schrieb Holger Macht:
Hallo, eine Freundin von mir hat sich einen Laptop gekauft und nun konnte ich Sie dazu überreden, dass sie einmal Linux ausprobiert. SuSE 8.2 lies sich auch super installieren und es wurde alles, bis auf das Modem, richtig erkannt. Bei diesem Modem handelt es sich um ein Winmodem. Den zugehörigen Treiber (pctel-0.9.6) habe ich auch gefunden. Nun lässt dieser sich aber nicht kompilieren.
das ./configure zeigt mir keine Fehlermeldungen
das make erzeugt folgende Ausgabe:
ptserial.c ptserial.c: In function `set_serial_info': ptserial.c:2212: warning: comparison between signed and unsigned ptserial.c: In function `rs_wait_until_sent': ptserial.c:2922: warning: comparison between signed and unsigned ptserial.c: In function `rs_open': ptserial.c:3174: warning: comparison between signed and unsigned ptserial.c: In function `line_info': ptserial.c:3305: warning: signed and unsigned type in conditional expression ptserial.c: In function `rs_read_proc': ptserial.c:3358: warning: comparison between signed and unsigned ptserial.c: In function `serial_remove_one': ptserial.c:4134: warning: comparison between signed and unsigned ptserial.c: In function `rs_init': ptserial.c:4320: warning: comparison between signed and unsigned ptserial.c:4351: warning: comparison between signed and unsigned ptserial.c: In function `register_serial': ptserial.c:4434: warning: comparison between signed and unsigned ptserial.c:4441: warning: comparison between signed and unsigned ptserial.c:4448: warning: comparison between signed and unsigned ptserial.c: In function `rs_fini': ptserial.c:4740: warning: comparison between signed and unsigned make[3]: *** [ptserial.o] Fehler 1 make[3]: Leaving directory `/home/jenny/pctel-0.9.6/src/ptserial' make[2]: *** [all] Fehler 2 make[2]: Leaving directory `/home/jenny/pctel-0.9.6/src/ptserial' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/home/jenny/pctel-0.9.6/src' make: *** [all-recursive] Fehler 1
Dieses Problem konnte ich bis jetzt nirgends finden.
All diese Meldungen sind Warnungen, keine einzige davon ist eine Erklärung für den Abbruch des Make-Laufes. Die wahre Ursache des Abbruches steht sehr wahrscheinlich weiter oben.
Es tritt auch auf einem anderen Rechner mit SUSE 8.2 genauso auf. Ich _vermute_, dass es etwas mit dem neuen gcc zu tun hat. Dein obiger Auszug lässt die Ursache nicht erkennen. gcc als Ursache ist zwar nicht ausgeschlossen, doch eher unwahrscheinlich.
Ralf
participants (4)
-
David Haller
-
Holger Macht
-
Philipp Thomas
-
Ralf Corsepius