CDK-Installieren make all bricht ab

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

CDK-Installieren make all bricht ab

Beitrag von naicheben »

Ich finde nicht die Datei die immer wieder den Fehler in die Makefile reinschreibt.

Fehlermeldung:

Code: Alles auswählen

$HOME/tuxbox/cdk/build_glibc/csu/version-info.h:2: error: missing terminating " character
$HOME/tuxbox/cdk/build_glibc/csu/version-info.h:3: error: missing terminating " character
version.c:40: error: parse error before string constant
make[3]: *** [$HOME/tuxbox/cdk/build_glibc/csu/version.o] Fehler 1
make[3]: Verlasse Verzeichnis '$HOME/tuxbox/cdk/glibc-2.3.6/csu'
make[2]: *** [csu/subdir_lib] Fehler 2
make[2]: Verlasse Verzeichnis '$HOME/tuxbox/cdk/glibc-2.3.6'
make[1]: *** [all] Fehler 2
make[1]: Verlasse Verzeichnis '$HOME/tuxbox/cdk/build_glibc'
make: *** [.deps/glibc] Fehler 2
In der Datei $HOME/tuxbox/cdk/glibc-2.3.6/csu/Makefile taucht dann immer wieder ein fehlerhafter String auf:

Code: Alles auswählen

if test -n "$$files"; then				\
	   echo "\"Available extensions:\\n\"";			\
	   sed -e '/^#/d' -e 's/^[[:space:]]*/	/'		\
	       -e 's/^\(.*\)$$/\"\1\\n\"/' $$files;		\
	 fi) > $@T
Weiß einer welches Script das anlegt?[/quote]
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

da stimmt wahrscheinlich was mit den host tools nicht.
überprüfe die mal mit $sourcen/hostapps/toolchecker/toolchecker
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

cvs: 1.12.13
autoconf >= 2.57a: 2.60
automake >= 1.8: 1.9.6
libtool >= 1.4.2: 1.5.22
gettext >= 0.12.1: 0.15
make >= 3.79: 3.81
makeinfo: 4.8
tar: 1.15.91
bunzip2: 1.0.3
gunzip: 1.3.5
patch: 2.5.9
infocmp: 5.5.20060422
gcc 2.95 or >= 3.0: 4.1.2
g++ 2.95 or >= 3.0: 4.1.2
flex: 2.5.33
bison: 2.3
pkg-config: 0.20
wget: 1.10.2
../hostapps/toolchecker/toolchecker.sh: line 157: -version: command not found
mksquashfs 2.1

Zeile 157 lautet da so:
echo "mksquashfs 2.1 "`$MKSQUASHFS -version | $GREP mksquashfs | cut -d" " -f3`

hab ich vergessen was zu installieren?

Ahhh, hab jetzt squashfs nachinstalliert und nun geht Toolcheck ohne Fehler durch.

Das CDK läßt sich trotzdem nicht kompilieren. Immernoch der gleiche Fehler...
doc
Contributor
Beiträge: 1623
Registriert: Donnerstag 10. Januar 2002, 20:03

Beitrag von doc »

Die ist doch schon Steinzeit, oder? :wink:
autoconf >= 2.57a: 2.60
Auch lesen was da steht! Das Tool prüft nicht ob eine Version neuer ist wie die Mindestversion.
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

doc hat geschrieben: Auch lesen was da steht!
:gruebel: :roll:
Innuendo
Einsteiger
Einsteiger
Beiträge: 281
Registriert: Mittwoch 8. Dezember 2004, 21:45

Beitrag von Innuendo »

naicheben hat geschrieben:Ahhh, hab jetzt squashfs nachinstalliert und nun geht Toolcheck ohne Fehler durch.
seit einiger zeit wird ein eigenes mksquashfs für den build prozess verwendet - der toolchecker müßte nur mal angepasst werden bzw die mksquashfs ausgabe vom toolchecker kann schlicht ignoriert werden.

innu
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

ehhhja,
also, danke estmal, aber das hats bis jetzt noch nicht gebracht.
Wie gesagt, mit der neuen CVS-Version kommt immer angegebener Fehler. Der wiedereum nur durch ein falsches Skript kommen kann. Also ein dummer kleiner Tippfehler. Die Frage ist nur: Welches Script schreibt eben diesen Fehler in die Makefile?
dbluelle
Contributor
Beiträge: 319
Registriert: Samstag 29. Mai 2004, 18:49

Beitrag von dbluelle »

Verwendest du zufällig Ubuntu 6.10?
Wenn ja, dann schau mal hier.
Das ist zwar für die Dreambox, sollte aber so ähnlich auch für die DBox funktionieren.
Eventuell musst du den Patch noch für glibc2.3.6 anpassen.

dbluelle
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

Das klingt vielversprechend. Es ist tatsächlich Ubuntu 6.10 aus der Ct'

Ich schau mir das gleich mal an und berichte dann später.

Danke
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

Ja, das ist genau die Datei, die jedes Mal, wenn ich "make all" mache, geändert wird. "make all" baut auch das Makefile unter ../csu und schreibt da eben diesen Mist rein.

Jetzt habe ich den Fehler weg bekommen:
nach dem Ausführen von make all liegt das Verzeichnis glibc.2.3.6 vor. Dort habe ich die Änderungen im Makefile gemacht. Dann habe ich das Verzeichnis wieder in ein Archive gepackt und nach Archive geschoben. Im Makefile unter cdk habe ich dann das patchen raus genommen. Umständlich, aber so gehts auch.
Zuletzt geändert von naicheben am Sonntag 10. Dezember 2006, 18:34, insgesamt 1-mal geändert.
Carjay
Developer
Beiträge: 122
Registriert: Sonntag 23. April 2006, 12:37

Beitrag von Carjay »

Hm, deine Vermutung kann so nicht stimmen, da das Makefile, welches sich im CSU-Verzeichnis befindet, so mitgeliefert wird, das was du oben zitiert hast steht 1:1 auch bei mir so und funktioniert da.

Woraus schließt du, daß der String fehlerhaft sein soll?

Kannst du mal den generierten Header "version-info.h" posten?

Soweit ich weiß, verwendet Ubuntu 6.10 standardmäßig nicht mehr die bash, sondern die dash als /bin/sh, was wohl schon zu einer Reihe von Fehlern geführt hat. Evtl. liegt es daran?
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

Was meinst Du mit version-info.h ? Wo soll ich die Finden?

Meine Shell ist definitiv bash!

Meine Vermutung ist in sofern schon richtig, als das das Makefile in cdk das generierte Verzeichnis glibc-2.3.6 erst mal löscht, dann aus den Archive neu erstellt, dann patched und dann reingeht und es kompiliert. Der Fehler liegt also schon im glibc-2.3.6.tar.bz2! Wäre ich jetzt ein Linuxfuchs, wäre ich reingegangen ins bz2 gegange hätts da gleich geändert ...
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

Ach, klar, ich Dussel...hier die version-info.h:

Code: Alles auswählen

"Compiled on a Linux 2.4.33.3-dbox2 system on 2006-12-10.\n"
"Available extensions:
"
"       GNU libio by Per Bothner\n"
"       crypt add-on version 2.1 by Michael Glad and others\n"
"       linuxthreads-0.10 by Xavier Leroy\n"
"       BIND-8.2.3-T5B\n"
"       libthread_db work sponsored by Alpha Processor Inc\n"
"       NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk\n"
"       software FPU emulation by Richard Henderson, Jakub Jelinek and others\n"
Hab jetzt mal in das Archive reingeschaut, und es dort geändert (das war ja einfach ;-) )

Jetzt sieht die version-info.h so aus:

Code: Alles auswählen

"Compiled on a Linux 2.4.33.3-dbox2 system on 2006-12-10.\n"
"Available extensions:\n"
"       GNU libio by Per Bothner\n"
"       crypt add-on version 2.1 by Michael Glad and others\n"
"       linuxthreads-0.10 by Xavier Leroy\n"
"       BIND-8.2.3-T5B\n"
"       libthread_db work sponsored by Alpha Processor Inc\n"
"       NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk\n"
"       software FPU emulation by Richard Henderson, Jakub Jelinek and others\n"

doc
Contributor
Beiträge: 1623
Registriert: Donnerstag 10. Januar 2002, 20:03

Beitrag von doc »

doc hat geschrieben:Die ist doch schon Steinzeit, oder? :wink:
autoconf >= 2.57a: 2.60
Auch lesen was da steht! Das Tool prüft nicht ob eine Version neuer ist wie die Mindestversion.
Joo dietmarw hast Recht! :wink:
Hatte wohl etwas viel Zahlen den Tag um die Ohren. :-?
Nehme alles zurück und behaupte das Gegenteil.
Na schönen Dank Herr Schwanke!
Ein toller Sommer! :-(
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

Hallo noch mal,
jetzt denke ich, ich habe alles installiert, aber ich bekomme immer diesen Fehler nach dem make cramfsneutrinoimages:
...
/usr/bin/install -c -d /home/ingmar/dbox2/cdkflash/jffs2/tuxbox/config/enigma
/usr/bin/install -c -d /home/ingmar/dbox2/cdkflash/jffs2/plugins
/usr/bin/install -c -d /home/ingmar/dbox2/cdkflash/jffs2/tuxbox/plugins
/usr/bin/install -c -d /home/ingmar/dbox2/cdkflash/jffs2/bin
cp -p /home/ingmar/dbox2/cdkflash/root/etc/passwd /home/ingmar/dbox2/cdkflash/jffs2/etc/passwd
cp -p /home/ingmar/dbox2/cdkflash/root/bin/camd2 /home/ingmar/dbox2/cdkflash/jffs2/bin/camd2
/usr/bin/fakeroot /bin/false -b -e 131072 -p -r /home/ingmar/dbox2/cdkflash/jffs2/ -o /home/ingmar/dbox2/cdkflash/var-jffs2.img
make: *** [/home/ingmar/dbox2/cdkflash/var-jffs2.img] Fehler 1

Kann jemand helfen?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

/usr/bin/fakeroot /bin/false -b -e 131072 -p -r /home/ingmar/dbox2/cdkflash/jffs2/ -o
mkfs.jffs2 fehlt
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

ja, stimmt, jetzt gehts. DANKE!!!! :D
Carjay
Developer
Beiträge: 122
Registriert: Sonntag 23. April 2006, 12:37

Beitrag von Carjay »

naicheben hat geschrieben: Meine Shell ist definitiv bash!

Meine Vermutung ist in sofern schon richtig, als das das Makefile in cdk das generierte Verzeichnis glibc-2.3.6 erst mal löscht, dann aus den Archive neu erstellt, dann patched und dann reingeht und es kompiliert. Der Fehler liegt also schon im glibc-2.3.6.tar.bz2! Wäre ich jetzt ein Linuxfuchs, wäre ich reingegangen ins bz2 gegange hätts da gleich geändert ...
Immer mit der Ruhe 8)

Wenn du dir sicher bist, daß du die bash nutzt, scheinst du eine sehr eigenwillige Version erwischt zu haben.

Einfacher Test: bei

Code: Alles auswählen

echo "test\\ntest" 
sollte

Code: Alles auswählen

test\ntest
erscheinen.

Wenn dort aber:

Code: Alles auswählen

test
test
kommt, welche Version der Bash nutzt du?

(einfach

Code: Alles auswählen

sh --version
eintippen)
naicheben
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Donnerstag 7. Dezember 2006, 18:11

Beitrag von naicheben »

Sorry, bin etwas länger nicht mehr dazu gekommen.

Code: Alles auswählen

ingmar@stube:~$ echo "test\\ntest"
test\ntest
wenn ich an der shell bash eingebe, ändert es nichts.

die Versionsabfrage geht hier auch nicht ... donnergroll....

Code: Alles auswählen

ingmar@stube:~$ sh --version
sh: Illegal option --
Aber mit der bash gehts:

Code: Alles auswählen

ingmar@stube:~$ bash --version
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Was will mir das wohl sagen??
Carjay
Developer
Beiträge: 122
Registriert: Sonntag 23. April 2006, 12:37

Beitrag von Carjay »

Ah, ok. Wenn ich das richtig interpretiere, dann benutzt du wie du ja auch selber sagst für deine Login-Shell die Bash, aber der SymLink "/bin/sh" zeigt auf eine andere Shell.

Läßt sich leicht rausfinden mit

Code: Alles auswählen

ls -l /bin/sh
In den Build-Skripten wird normalerweise "/bin/sh" eingetragen, weil sie für alle Shells funktionieren sollen (kleinster gemeinsamer Nenner). Da das nicht der Fall ist, ist das so gesehen entweder ein Bug in der verwendeten Shell oder im glibc-eigenen Makefile.

Da du aber sowieso die Bash benutzt, könntest du auch einfach den /bin/sh-Link auf die Bash zeigen lassen.
schaeaef
Interessierter
Interessierter
Beiträge: 62
Registriert: Montag 25. Dezember 2006, 23:20

Beitrag von schaeaef »

hallo ...

ich habe kapiert, dass ich eine .diff datei erstellen muss mit folgendem inhalt ...


diff -Naur glibc-2.3.2/csu/Makefile glibc-2.3.2/csu/Makefile
--- /dev/null 1970-01-01 01:00:00.000000000 +0100
+++ glibc-2.3.2-perf/csu/Makefile 2006-12-12 14:52:09.000000000 +0100
@@ -231,14 +231,15 @@
if [ -z "$$os" ]; then \
os=Linux; \
fi; \
- echo "\"Compiled on a $$os $$version system" \
- "on `date +%Y-%m-%d`.\\n\"" ;; \
+ printf '"Compiled on a %s %s system on %s.\\n"\n' \
+ "$$os" "$$version" "`date +%Y-%m-%d`" ;; \
*) ;; \
esac; \
files="$(all-Banner-files)"; \
if test -n "$$files"; then \
- echo "\"Available extensions:\\n\""; \
+ printf '"Available extensions:\\n"\n'; \
sed -e '/^#/d' -e 's/^[[:space:]]*/ /' \
-e 's/\(^.*$$\)/\"\1\\n\"/' $$files; \
fi) > $@T
mv -f $@T $@
+


/cdk/Patches/glibc_ppc4xx_ibmstropt.diff

wird damit schon das /tuxbox/cdk/patches verzeichnis gemeint ?! die datei gibt es bei mir noch nicht ... also muss ich sie wohl einfach erstellen ...

doch was mache ich dann .... muss ich sie dann noch irgendwo eintragen ?!
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re:

Beitrag von rhabarber1848 »

dbluelle hat geschrieben:Verwendest du zufällig Ubuntu 6.10?
Ubuntu 8.10 hat immer noch das gleiche Problem: dash ( :dash: )

Hatte gerade den gleichen Fehler, vielleicht sollte cdk/autogen.sh
die aktive Shell prüfen und sich bei dash ( :dash: ) verweigern?
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Re: Re:

Beitrag von dietmarw »

rhabarber1848 hat geschrieben:...vielleicht sollte cdk/autogen.sh
die aktive Shell prüfen und sich bei dash ( :dash: ) verweigern?
das würde auf jeden fall einige probleme klarer aufzeigen..
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: CDK-Installieren make all bricht ab

Beitrag von flasher »

Hi

Könnte man dan so machen und die autogen.sh in /cdk patchen...

Code: Alles auswählen

--- autogen.sh_org	2007-10-25 19:25:51.000000000 +0200
+++ autogen.sh	2009-01-05 22:38:35.000000000 +0100
@@ -1,5 +1,15 @@
 #!/bin/sh
 
+#check for ubuntu's damn dash
+if [ "$SHELL" = "/bin/dash" ]; then
+echo && echo "DASH Shell is not supported."
+echo "Try:"
+echo "sudo rm /bin/sh && ln -s /bin/bash /bin/sh"
+echo "edit /etc/passwd and change /bin/dash to /bin/bash for your login name"
+echo && echo "abort..."
+exit 1;
+fi
+
 package="tuxbox-cdk"
 
 LIBTOOL_REQUIRED_VERSION=1.4.2
Gruß