PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : emu10k1 make tools patch



MiBSchmidt
27.01.04, 00:06
Hallo

ich habe versucht den emu10k1 driver zu compilieren und zu installieren. Hat soweit auch geklappt aber beim versuch "make tools" auszuführen bricht er mit folgender Meldung ab.

make tools
cd utils && make
make[1]: Entering directory `/root/download/emu10k1/utils'
cd as10k1 && make
make[2]: Entering directory `/root/download/emu10k1/utils/as10k1'
cc -M *.c -W -Wall > .depend
as10k1.c:42:13: missing terminating " character
as10k1.c:46:22: missing terminating ' character
as10k1.c:68:1: missing terminating " character
make[2]: *** [dep] Fehler 1
make[2]: Leaving directory `/root/download/emu10k1/utils/as10k1'
make[1]: *** [As10k1] Fehler 2
make[1]: Leaving directory `/root/download/emu10k1/utils'
make: *** [tools] Fehler 2

Ok habe mal im Internet gesucht und folgendes gefunden.

http://sourceforge.net/tracker/index.php?func=detail&aid=791109&group_id=44773&atid=440823

Es hatt offensichtlich was mit dem gcc zu tun. Auf der Seite wird dann auf folgenden Patch verwiesen.

http://sourceforge.net/tracker/index.php?func=detail&aid=744618&group_id=44773&atid=440824

Alles sehr schön doch wie installiert man überhaupt einen Patch?

Ich weis das es ein shell programm "patch" gibt doch zur Verwendung dieses Programmes muss man ja das File kennen das gepatcht werden soll und irgendwie wurde das nicht beschrieben in den obigen Links.

Währe gut wenn wir das hin bekommen würden, da ich gesehen habe, das noch mehr leute die obige Fehlermeldung erhalten

Gruss

Michael

kth
27.01.04, 22:59
Original geschrieben von MiBSchmidt
Ich weis das es ein shell programm "patch" gibt doch zur Verwendung dieses Programmes muss man ja das File kennen das gepatcht werden soll und irgendwie wurde das nicht beschrieben in den obigen Links.Nein, die betroffenen Dateien muss man nicht kennen; die wurden bei der Entstehung der ".patch"-Datei vom diff-Tool darin eingetragen.

Die meisten Patches sind so gestrickt, dass man zuerst in das Source-Verzeichnis wechselt und dort den Patch im Testlauf mit
patch -p1 --dry-run -s < /pfad/zum/patchprobieren kann. Werden keine Fehler gemeldet, lässt man die Option --dry-run weg und wendet den Patch dadurch mit Wirkung an. Das -s steht für "silent", d. h., Meldungen werden nur im Fehlerfall ausgegeben.

Scheitert der Patch beim Testlauf, weil Dateien nicht gefunden werden können, lohnt es sich, mit der Zahl hinter der Option -p zu experimentieren; in der Mehrzahl aller Fälle sollte 0, 1 oder 2 passend sein. Die Option -pn bewirkt, dass in den Dateipfaden, die in den diff-Zeilen im Patch vorkommen, jeweils der Teil vom Anfang bis einschließlich des n-ten Schrägstrichs weggeschnitten wird; bei -p0 bleibt ein Pfad also unverändert, bei -p1 bleibt nur der Teil hinter dem ersten Schrägstrich übrig usw. (Siehe auch man patch.)

MiBSchmidt
28.01.04, 11:58
Hallo

vielen Dank für die Hilfe mit dem Patch.
Ich hatte die Änderungen schon per Hand zu Fuß gemacht.
Für alle die auch den obigen compile error bekommen hier die Erklärung

Es gibt dre Dateien die geändert werden müssen. Dies sind:

emu10k1/utils/as10k1/as10k1.c
emu10k1/utils/mixer/lib/debug.c
emu10k1/utils/mixer/lib/dsp.c

In den files steht sowas wie:

printf(" bla bal
bal

bal")

Damit kommt der gcc irgendwie nicht klar und deshalb muss man jede Zeile des printf-Befehls in "" setzen und mit \n beenden. Für das obige Beispiel heißt das

printf(" bla bal\n"
"bal\n"
"\n"
"bal")
Und schon gehts. Welche Zeilen ihr auf diese Weise ergänzen müsst könnt ihr entweder aus der Fehlermeldung entnehmen oder ihr schaut ich mal den Patch an der in der obigen Message beschrieben wird. Allerdings berücksichtigt der Patch nicht die Datei dsp.c und die müsst ihr auch ändern. Also schaut lieber auf die Error message da wird ja die Datei und die Zeilennummer genau angegeben.

OK ich hoffe ich kann jemand damit helfen
Gruss
Michael

gast44
02.04.04, 08:51
hast du das bitte genauer ? oder kannst du mir vll. die files zu senden ?

Ich hab line 42, 46, 68 jewels ein \n" angeängt...und bei lab's das apostroph weggeamacht ..

maaan..jetzt bringt er beim compilen errors..


cd utils && make install
make[1]: Entering directory `/home/honkx/emu10k1-v0.20a/utils'
cd as10k1 && make
make[2]: Entering directory `/home/honkx/emu10k1-v0.20a/utils/as10k1'
cc -M *.c -W -Wall > .depend
cc -W -Wall -c -o as10k1.o as10k1.c
as10k1.c:43: error: parse error before "Usage"
as10k1.c:48: error: syntax error at '@' token
as10k1.c:49: error: syntax error at '@' token
as10k1.c:52: error: stray '\' in program
as10k1.c:84: error: parse error before '-' token
as10k1.c:84: Warnung: type defaults to `int' in declaration of `exit'
as10k1.c:84: error: conflicting types for `exit'
/usr/include/stdlib.h:612: error: previous declaration of `exit'
as10k1.c:84: Warnung: data definition has no type or storage class
as10k1.c:86: Warnung: type defaults to `int' in declaration of `output'
as10k1.c:86: error: conflicting types for `output'
as10k1.c:35: error: previous declaration of `output'
as10k1.c:86: error: `argv' undeclared here (not in a function)
as10k1.c:86: error: `i' undeclared here (not in a function)
as10k1.c:86: Warnung: data definition has no type or storage class
as10k1.c:87: error: parse error before "break"
as10k1.c:91: error: parse error before string constant
as10k1.c:91: Warnung: type defaults to `int' in declaration of `printf'
as10k1.c:91: Warnung: conflicting types for built-in function `printf'
as10k1.c:91: Warnung: data definition has no type or storage class
as10k1.c:96: error: parse error before string constant
as10k1.c:96: Warnung: type defaults to `int' in declaration of `printf'
as10k1.c:96: Warnung: data definition has no type or storage class
as10k1.c:105: error: parse error before string constant
as10k1.c:105: Warnung: type defaults to `int' in declaration of `printf'
as10k1.c:105: Warnung: data definition has no type or storage class
as10k1.c:109: error: parse error before string constant
as10k1.c:109: Warnung: type defaults to `int' in declaration of `printf'
as10k1.c:109: Warnung: data definition has no type or storage class
as10k1.c:113: error: parse error before string constant
as10k1.c:113: Warnung: type defaults to `int' in declaration of `printf'
as10k1.c:113: Warnung: data definition has no type or storage class
as10k1.c:117: error: parse error before string constant
as10k1.c:117: Warnung: type defaults to `int' in declaration of `printf'
as10k1.c:117: Warnung: data definition has no type or storage class
as10k1.c:122: error: parse error before '-' token
as10k1.c:122: Warnung: type defaults to `int' in declaration of `exit'
as10k1.c:122: Warnung: data definition has no type or storage class
as10k1.c:126: error: parse error before string constant
as10k1.c:126: Warnung: type defaults to `int' in declaration of `printf'
as10k1.c:126: Warnung: data definition has no type or storage class
as10k1.c:134: error: parse error before '-' token
as10k1.c:134: Warnung: type defaults to `int' in declaration of `exit'
as10k1.c:134: Warnung: data definition has no type or storage class
as10k1.c:136: Warnung: type defaults to `int' in declaration of `listing'
as10k1.c:136: error: conflicting types for `listing'
as10k1.c:35: error: previous declaration of `listing'
as10k1.c:136: error: `argv' undeclared here (not in a function)
as10k1.c:136: error: `i' undeclared here (not in a function)
as10k1.c:136: Warnung: data definition has no type or storage class
as10k1.c:139: error: parse error before "break"
as10k1.c:142: error: parse error before string constant
as10k1.c:142: Warnung: type defaults to `int' in declaration of `printf'
as10k1.c:142: Warnung: data definition has no type or storage class
as10k1.c:151: error: parse error before numeric constant
as10k1.c:151: Warnung: type defaults to `int' in declaration of `exit'
as10k1.c:151: Warnung: data definition has no type or storage class
as10k1.c:160: error: parse error before string constant
as10k1.c:160: Warnung: type defaults to `int' in declaration of `as_exit'
as10k1.c:160: error: conflicting types for `as_exit'
proto.h:6: error: previous declaration of `as_exit'
as10k1.c:160: Warnung: data definition has no type or storage class
as10k1.c: In function `main':
as10k1.c:176: Warnung: implicit declaration of function `parse_cli_args'
as10k1.c:186: Warnung: comparison between pointer and integer
as10k1.c:187: Warnung: passing arg 1 of `fopen' makes pointer from integer without a cast
as10k1.c:193: Warnung: comparison between pointer and integer
as10k1.c:197: Warnung: assignment makes integer from pointer without a cast
as10k1.c:201: Warnung: passing arg 1 of `fopen' makes pointer from integer without a cast
as10k1.c: At top level:
as10k1.c:353: error: conflicting types for `as_exit'
as10k1.c:160: error: previous declaration of `as_exit'
make[2]: *** [as10k1.o] Fehler 1
make[2]: Leaving directory `/home/honkx/emu10k1-v0.20a/utils/as10k1'
make[1]: *** [As10k1] Fehler 2
make[1]: Leaving directory `/home/honkx/emu10k1-v0.20a/utils'
make: *** [install-tools] Fehler 2