CDK kompilieren: init.d: syntax error near unexpected token

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
Pumuckl
Interessierter
Interessierter
Beiträge: 56
Registriert: Donnerstag 4. Oktober 2001, 00:00

CDK kompilieren: init.d: syntax error near unexpected token

Beitrag von Pumuckl »

Hallo Leute.

Bin gerade dabei das CDK zu kompilieren und laufe dabei auf folgenden Fehler:

/bin/sh ./scripts/mkinstalldirs /dbox2-entwicklung/yadd/cdkroot/lib/pkgconfig
/usr/bin/install -c -m 644 ./sigc++-1.2.pc /dbox2-entwicklung/yadd/cdkroot/lib/pkgconfig/sigc++-1.2.pc
make[3]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/libsigc++-1.2.2'
make[2]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/libsigc++-1.2.2'
make[1]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/libsigc++-1.2.2'
rm -rf libsigc++-1.2.2
touch .libsigc
make -C root install
make[1]: Entering directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root'
Making install in etc
make[2]: Entering directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc'
Making install in init.d
make[3]: Entering directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc/init.d'
make[4]: Entering directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc/init.d'
make[4]: Nothing to be done for `install-exec-am'.
/bin/sh: -c: line 1: syntax error near unexpected token `;'
/bin/sh: -c: line 1: `for i in ; do install -d /dbox2-entwicklung/yadd/cdkroot/etc/init.d ; if [ "" -o ! -e /dbox2-entwicklung/yadd/cdkroot/etc/init.d/$i ] ; then echo "install -m644 $i /dbox2-entwicklung/yadd/cdkroot/etc/init.d" ; install -m644 $i /dbox2-entwicklung/yadd/cdkroot/etc/init.d ; fi ; done'
make[4]: *** [install-data-local] Error 2
make[4]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc/init.d'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc/init.d'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root'
make: *** [.root] Error 2

Was muss ich dabei jetzt machen damit das Kompilieren weitergeht? Benutze SuSE 8.0. AutoConf, AutoMake und Libtool sind in der richtigen Version installiert.

Schonmal danke für die Hilfe!
kerlimann
Semiprofi
Semiprofi
Beiträge: 1208
Registriert: Donnerstag 26. Dezember 2002, 07:26

Beitrag von kerlimann »

hi,
die letzten tage ist im CVS wieder viel getan worden. check doch mal REL aus (nicht head), das lief heute mal wieder durch, fehlerfrei.
Pumuckl
Interessierter
Interessierter
Beiträge: 56
Registriert: Donnerstag 4. Oktober 2001, 00:00

Beitrag von Pumuckl »

Du meinst, das CVS per "cvs -d:pserver:anonymous@cvs.berlios.de:/cvsroot/tuxbox -z3 co -r rel_1_0_0 -P" statt "cvs -d:pserver:anonymous@cvs.berlios.de:/cvsroot/tuxbox -z3 co ." zu holen?
kerlimann
Semiprofi
Semiprofi
Beiträge: 1208
Registriert: Donnerstag 26. Dezember 2002, 07:26

Beitrag von kerlimann »

ja, und wenn es besser compressen soll nimmste z9
servus01
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Montag 10. Februar 2003, 18:48

Beitrag von servus01 »

Servus,

bin noch neu in der ganzen Sache mit dem cdk! Habe schon etliche Fehler gefixt, aber bei genau dem oben beschriebenen Fehler komme ich nicht weiter! Wenn ich checkout mache sagt cvs mir nur "must specify at least one modul or directory! Irgendwie werde ich daraus nicht schlau! Kann mir jemand weiterhelfen? Oder hat Pumuckl das irgendwie gefixt?

Danke im vorraus!

Greetz
Servus01
satsepp
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 15. Mai 2002, 08:15

Beitrag von satsepp »

da kann ich weiterhelfen: es fehlt der . !!!
also ein leer und dann . !


Sepp

P.S.: hat bei mir dennoch nicht compiliert gestern!

Edit:
cvs -d:pserver:anonymous@cvs.berlios.de:/cvsroot/tuxbox -z3 co -r rel_1_0_0 -P .
1. Box: Sagem 1xi
2. Box: Philips 2xi (eine gute *g*)
3. Box: Glaxais easy-world (noch, nicht zu empfehlen!)
4. Box: Hyundai HSS820 Festplatten CI-Receiver
servus01
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Montag 10. Februar 2003, 18:48

Beitrag von servus01 »

Sers,

danke für die schnelle Hilfe, probiers grade, mal sehen was bei rumkommt! Wieso hats bei Dir dann nicht gefunzt? Fehlt Dir noch was, oder liegt der Fehler woanders?

Greetz
Servus01
satsepp
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 15. Mai 2002, 08:15

Beitrag von satsepp »

Also ich hab daheim nun die 3. CygwiInstallation, diese ist nach einer Vorinstallierten Version die angeblich laufen sollte.
Sie hatte aber immer compiler Error. Hab dann dies und das nachinstalliert, alles was ich an Skripten gefunden habe probiert, letztendlich alles ausser dem Cygwinn wieder gelöscht und neu geladen, mit neuen Skripten, es lief stundenlang (mit den downloads) und Meldet daß nichts mehr zu Compilieren ist weil keine "make-Rulez dafür mehr bestehen" oder so ähnlich.
Habe nun gesehen daß bei Homar die Skripte nur etwas versteckt im ULC liegen, und Installiere hier gerade CYGWIN komplett über ISDN, dann das CDK komplett neu. Das daurt aber noch bis morgen abend....
dann schaffe ich vielleicht meine erste selbstcompilierte YADD..... :roll:

Wenns hier geht ist das Cygwin zu hause wohl schon falsch Konfiguriert.

Sepp
1. Box: Sagem 1xi
2. Box: Philips 2xi (eine gute *g*)
3. Box: Glaxais easy-world (noch, nicht zu empfehlen!)
4. Box: Hyundai HSS820 Festplatten CI-Receiver
TailorX
Interessierter
Interessierter
Beiträge: 29
Registriert: Freitag 26. Juli 2002, 21:39

Beitrag von TailorX »

Hallo,

ich bin beim Kompilieren des HEAD (heute ausgecheckt) auf das gleiche Problem gestossen wie Pumuckl. Ich weiss, REL nehmen, aber mich interessiert hier eine Lösung.
DAs Problem liegt ja im Makefile an den beiden Variablen $FILES und $FILES_EXEC, die ja die Liste der zu installierenden "normalen" Files bzw. ausführbaren Files enthalten. Nur bei einigen Makefiles ist eine der Variablen leer, weil es diesen File-Typ nicht gibt. Das wird aber weiter unten in den Regeln nicht geprüft und führt dann zu dem Ausdruck

for i in ; do install ...

der ungültig ist, weil "for" hinter "in" eine Liste erwartet. Die Lösung ist, vor das "for" noch ein "if" einzubauen, was die Variable prüft und den for-Block überspringt, wenn nichts zu tun ist. Hab' ich manuell gemacht, damit's weiter kompiliert. Ist aber unbefriedigend.

Nun werden die Makefiles aber durch configure erzeugt und damit kenne ich mich nicht so aus. Wäre nett, wenn jemand mir mal 'nen Tipp geben kann, wo ich in den configure-Scripten anpassen muss, damit in den Makefile-Regeln die Bewachung mit dem "if" erzeugt wird.

Ciao
TailorX
(Nokia Sat 2xIntel AVIA500)
kerlimann
Semiprofi
Semiprofi
Beiträge: 1208
Registriert: Donnerstag 26. Dezember 2002, 07:26

Re: CDK kompilieren: init.d: syntax error near unexpected to

Beitrag von kerlimann »

Pumuckl hat geschrieben: touch .libsigc
make -C root install
make[1]: Entering directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root'
Making install in etc
make[2]: Entering directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc'
Making install in init.d
make[3]: Entering directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc/init.d'
make[4]: Entering directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc/init.d'
make[4]: Nothing to be done for `install-exec-am'.
/bin/sh: -c: line 1: syntax error near unexpected token `;'
/bin/sh: -c: line 1: `for i in ; do install -d /dbox2-entwicklung/yadd/cdkroot/etc/init.d ; if [ "" -o ! -e /dbox2-entwicklung/yadd/cdkroot/etc/init.d/$i ] ; then echo "install -m644 $i /dbox2-entwicklung/yadd/cdkroot/etc/init.d" ; install -m644 $i /dbox2-entwicklung/yadd/cdkroot/etc/init.d ; fi ; done'
make[4]: *** [install-data-local] Error 2
make[4]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc/init.d'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc/init.d'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root/etc'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/dbox2-entwicklung/tuxbox-cvs/cdk/root'
make: *** [.root] Error 2
das selbe problem habe ich jetzt auch, schau mal hier:

https://tuxbox.berlios.de/bugtracker/ma ... id=0000017

man sagt, meine shell waere kaputt, hmpf.
lucgas
Image-Team
Beiträge: 158
Registriert: Sonntag 8. Dezember 2002, 10:09

Beitrag von lucgas »

wie ich hier sehe,werden die files in /etc/init.d nicht installiert!
mal in Makefile gucken /cdk/etc/init.d!
ansonsten,mal mit -i weitermachen,um nur zu sehen was da fehlt.
kerlimann
Semiprofi
Semiprofi
Beiträge: 1208
Registriert: Donnerstag 26. Dezember 2002, 07:26

Beitrag von kerlimann »

@all

also ich hab jetzt die bash 2.05b von gnu.org selbst compiled (./ configure, dann make reicht), damit funktioniert das.

server:/ # bash --version
GNU bash, version 2.05b.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.
server:/ #
TailorX
Interessierter
Interessierter
Beiträge: 29
Registriert: Freitag 26. Juli 2002, 21:39

Beitrag von TailorX »

Hmpf. Dann frist die neue also Shell ein "for i in ;" und macht dann gar nichts (was irgendwie auch richtig ist).

Ok. Dann zieh' ich mir auch mal die neue Bash-Version drauf.

Danke für die Info.

CIao
TailorX
(Nokia Sat 2xIntel AVIA500)
waldi
Senior Member
Beiträge: 104
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von waldi »

TailorX hat geschrieben:Hmpf. Dann frist die neue also Shell ein "for i in ;" und macht dann gar nichts (was irgendwie auch richtig ist).
die 2.03.0 macht es auch, ist also kein feature der ganz neuen versionen.

waldi
kerlimann
Semiprofi
Semiprofi
Beiträge: 1208
Registriert: Donnerstag 26. Dezember 2002, 07:26

Beitrag von kerlimann »

TailorX hat geschrieben:Hmpf. Dann frist die neue also Shell ein "for i in ;" und macht dann gar nichts (was irgendwie auch richtig ist).
exakt so. da aber zumindest waldi der meinung ist, das waere OK so, habe ich keine lust auf einen streit, und finde mich damit ab. er ist offenbar der meinung, eine shell welche fehlermeldungen ignoriert einer vorzuziehen, welche diese anzeigt.

for i in <nix> macht keinen sinn, da gebe ich dir recht, die zeile ist schlichtweg fehlerhaft. (IMHO).
TailorX
Interessierter
Interessierter
Beiträge: 29
Registriert: Freitag 26. Juli 2002, 21:39

Beitrag von TailorX »

Sehe ich auch so. Aber fehlertolerante Interpreter sind ja ok, solange die Toleranz nicht zu anderen Fehlverhalten führt. Die echte Fehlerursache liegt an sich ja bei den autoconf-Klamotten, weil da das Makefile generiert wird.
Aber egal. Hab' mir jetzt auch die bash-2.05b draufgemacht und gut ist. Das mit der bash-Version sollte man vielleicht mal in die Software-Voraussetzungen schreiben, denn wir werden nicht die letzten sein, die in diese Falle tappen.

Ciao
TailorX
(Nokia Sat 2xIntel AVIA500)
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

da es nicht an der bash version liegt, sondern an suse, koennte man eigentlich mal reinschreiben, dass suse linux nicht funktioniert.
kerlimann
Semiprofi
Semiprofi
Beiträge: 1208
Registriert: Donnerstag 26. Dezember 2002, 07:26

Beitrag von kerlimann »

obi hat geschrieben:da es nicht an der bash version liegt, sondern an suse, koennte man eigentlich mal reinschreiben, dass suse linux nicht funktioniert.
mit welchen SuSE versionen, kannst du mitteilen? oder mit allen nicht?

PS: natuerlich liegt es an der bash-version. es gibt halt verschiedene, und jeder distributor darf diese compilen wie er moechte.

es sei denn du empfiehlst allen THE_ROCK linux <g>
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

bla

die worte im mund verdrehen kann jeder.
ist es klarer, wenn ich sage "suse ist schuld, nicht die bash autoren"?

welche suse versionen das sind, ist mir irgendwie nicht so wichtig. ist halt doch nur ein anfaenger linux, das fast jeder verlaesst, wenn er weiss, wie linux funktioniert. mit suse gab es schon immer kompatibilitaetsprobleme, deshalb kann man eigentlich nur davon abraten. dazu braucht man kein rocklinux empfehlen, es wuerde wohl jedes andere tun.

- obi