Nach CVS-Update keine /home/work/tuxbox-cvs/cdk/config.mk

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
SnowHead
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Sonntag 6. Juni 2004, 16:04

Nach CVS-Update keine /home/work/tuxbox-cvs/cdk/config.mk

Beitrag von SnowHead »

Hi Leutz,

habe heute auch leichtsinnigerweise ein CVS-Update gemacht.
Lief natürlich wie erwartet nicht durch. Nachdem eine Fehlermeldung
die andere jagte, habe ich mich entschlossen, alles platt zu machen und
noch mal bei Null anzufangen

export CVS_RSH=ssh
cvs -z3 up -dP
cd cdk
./autogen.sh
./configure --prefix=$HOME/dbox2 --with-targetruleset=flash --with-cvsdir=$HOME/tuxbox-cvs --enable-maintainer-mode
make download
make all


Es lief auch eine ganze Weile (da ja alles neu erstellt werden mußte), brach
dann aber wieder ab:
cp -pR /home/work/tuxbox-cvs/boot/u-boot-tuxbox/* u-boot-1.1.1
cp -p /home/work/tuxbox-cvs/boot/u-boot-config/u-boot.config u-boot-1.1.1/include
/configs/dbox2.h
make -C u-boot-1.1.1 dbox2_config
make[1]: Entering directory `/home/work/tuxbox-cvs/cdk/u-boot-1.1.1'
Configuring for dbox2 board...
make[1]: Leaving directory `/home/work/tuxbox-cvs/cdk/u-boot-1.1.1'
make -C u-boot-1.1.1 CROSS_COMPILE=powerpc-tuxbox-linux-gnu- u-boot.stripped
make[1]: Entering directory `/home/work/tuxbox-cvs/cdk/u-boot-1.1.1'
Makefile:50: /home/work/tuxbox-cvs/cdk/config.mk: No such file or directory
make[1]: Warning: File `include/config.mk' has modification time 0.86 s in the f
uture
make[1]: *** No rule to make target `/home/work/tuxbox-cvs/cdk/config.mk'. Stop.

make[1]: Leaving directory `/home/work/tuxbox-cvs/cdk/u-boot-1.1.1'
make: *** [.deps/u-boot] Error 2
Kann mir jemand sagen, warum die config.mk nicht erstellt wurde?
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Weil sie da gar nicht hingehört wo er sie sucht.

Die config liegt im u-boot-1.1.1-Verzeichnis. Warum er bei dir allerdings im falschen Verzeichnis sucht, hmm, was für eine Distro ist das?
Stachi
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Mittwoch 4. August 2004, 09:49

Beitrag von Stachi »

Hallo zusammen,
ich habe des gleiche Fehlverhalten bei mir. Es nützt auch nichts die Datei an den gewünschten Ort zu kopieren, dann bleibt man nämlich kurze Zeit später am nächsten Problem dieser Art hängen. Ich vermute, dass es mit "TOPDIR" zusammenhängt, das in der makedatei im u-Boot-1.1.1 Direktory verwendet wird.
Ich benutze im übrigen ein fast neu Installiertes cygwin. Ich werde weiter versuchen. Wäre schön wenn jemand Rat weis.
Sepp776
Semiprofi
Semiprofi
Beiträge: 1173
Registriert: Samstag 1. September 2001, 00:00

Beitrag von Sepp776 »

etwas OT, aber statt cygwin ist es vielleicht besser, eine VMWare mit echtem Linux zu benutzen. Vorausgesetzt man hat genug RAM und Plattenplatz.
Philips Sat
Astra 19.2°
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Ja, der Cygwin-Build ist wohl broken.

Die Cygwin-Skripte werden momentan von keinem gepflegt.
Stachi
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Mittwoch 4. August 2004, 09:49

Beitrag von Stachi »

Ja, das Leben ist hart.
Ich werde mich jetzt wohl mal mit dem Linux Scripting auseinander setzen müssen. Diese Art Probleme werden wohl bei jedem Update auf uns zu kommen. Ich werden also jetzt mit dem forschen beginnen.
Wahhhh mir ist jetzt schon ganz schlecht.
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

Ich hatte da Problem auch. Es scheit ein Fehler in cygwin zu sein. Habe dann mal einfach den Patch etwas abgeändert und in tuxbox-cvs\cdk\Patches\u-boot-1.1.1.diff aus

Code: Alles auswählen

diff -Naur u-boot-1.1.1.orig/Makefile u-boot-1.1.1/Makefile
--- u-boot-1.1.1.orig/Makefile	2004-08-04 16:13:19.375000000 +0200
+++ u-boot-1.1.1/Makefile	2004-08-04 16:17:08.328125000 +0200
@@ -103,7 +103,7 @@
 LIBS += cpu/$(CPU)/lib$(CPU).a

Code: Alles auswählen

diff -Naur u-boot-1.1.1.orig/Makefile u-boot-1.1.1/Makefile
--- u-boot-1.1.1.orig/Makefile	2004-08-04 16:13:19.375000000 +0200
+++ u-boot-1.1.1/Makefile	2004-08-04 16:17:08.328125000 +0200
@@ -39,7 +39,7 @@
 
 #########################################################################
 
-TOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
+TOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)/u-boot-1.1.1
 export	TOPDIR
 
 ifeq (include/config.mk,$(wildcard include/config.mk))
@@ -103,7 +103,7 @@
 LIBS += cpu/$(CPU)/lib$(CPU).a
gemacht.

Eigentlich bin ich mitlerweile aber auf ein (fast) echtes Linux umgestiegen. Ich habe Knoppix auf die Festplatte installiert. Das macht das mitgelieferte Script ganz gut und ich hatte auch als Linux Newbie wenig Probleme.

Ebenbei: Ich habe das gefühl, dass die Images unter Linux schneller erstellt werden. Kann das jemand bestätigen?
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Ja, die Sache mit der Geschwindigkeit gilt auch für einen nativen Compiler.

Ich arbeite normalerweise plattformunabhängig und benutze unter Win32 die MingW-Umgebung. Aber arbeiten möchte ich damit unter Windows nur wenn's sich nicht vermeiden läßt.

Kompilieren geht noch aber speziell die Ausführung von Skripten dauert wesentlich länger.

Zum Glück ist dank Knoppix die testweise Installation von einem Linux-System ohne großen Aufwand für jedermann/-frau möglich, so daß die Installationshürde mittlerweile genommen wurde und ich in der Cygwin-Unterstützung des CDK nicht mehr den großen Sinn sehe.
Stachi
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Mittwoch 4. August 2004, 09:49

Beitrag von Stachi »

Hallo chkbox,

mit deiner Änderung wird die Variable "TOPDIR" auf die richtige Ebene gebracht. Dadurch sollte die config.mk gefunden werden.
Ich werde das mal versuchen. Danke für den Tip.
Wenn jemand noch weiß wo ich eine Beschreibung zum Aufbau einer .diff Datei finden kann, dann wäre ich wirklich dankbar. Diese kryptischen Angaben wie @@ -39,7 +39,7 @@ sagen mir nämlich noch nichts.
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

Was ich gepostet habe sind die ersten Zeilen der Datei tuxbox-cvs\cdk\Patches\u-boot-1.1.1.diff aus dem CVS. Der obere Block ist der, wie er bei dir wohl ist, und du musst diesen durch den unteren ersetzen. Das Format der Daten ist von den Linux Tools diff und patch (Die erste Zeile zeigt, mit welchem Befehl der Code erzeugt wurde) und sind Angaben über die Zeilennummer und dann Zeilenanzahl. - sagt wieviel entfernt werden und + wieviel dafür dazu kommen.
Leider ist dieses komischen Verfahren nötig, da beim Build die u-boot Quellen erstmal gelöscht werden und Änderungen nicht direkt möglich sind.
Stachi
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Mittwoch 4. August 2004, 09:49

Beitrag von Stachi »

Danke für die Erklärung chkbox,

mit der Änderung komme ich auch ein Stückchen weiter. Ich bleibe dann aber bei der übersetzung der u-boot-1.1.1/toos hängen, weil bei Verwendung von cygwin bei den CFLAGS -D__WIN32__ angehängt wird. Das hat wiederum zur Folge, daß die Typendeklarationen von uint_16t und uint_32t erneut gemacht werden. Diese sind von denen bei Linux aber verschieden. Dadurch erhält man einen Fehler, weil der neue typ für uint_32t anders ist. Ich frage mich nur, warum überhaupt der Parameter __WIN32__ an den Compiler übergeben wird ? Für was ist das gut, denn die typen deklarationen sind doch schon vorhanden ? Wenn die Typen vorher mit einem #ifndef auf ihr vorhandensein abgefragt würden hätte man keine Probleme.

Hmmmm ? Nun ja Jugend forscht weiter.
Stachi
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Mittwoch 4. August 2004, 09:49

Beitrag von Stachi »

Es ist vollbracht, endlich habe ich fehlerfrei übersetzen können.

Es waren zwei Änderungen in u-boot-1.1.1.diff nötig. Ob es jetzt auch läuft, kann ich noch nicht sagen.

Erste Änderung, wie von chkbox angeregt:

Code: Alles auswählen

--- u-boot-1.1.1.orig/Makefile	2004-05-01 17:00:26.000000000 +0200
+++ u-boot-1.1.1/Makefile	2004-05-02 23:28:03.000000000 +0200
@@ -42,1 +42,1 @@
-TOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
+TOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)/u-boot-1.1.1/
@@ -103,7 +103,7 @@
 LIBS += cpu/$(CPU)/lib$(CPU).a
zweite Änderung um __WIN32__ zu eleminieren:

Code: Alles auswählen

+OBJS	= environment.o img2srec.o mkimage.o crc32.o envcrc.o gen_eth_addr.o bmp_logo.o mktree.o
 
 ifeq ($(ARCH),mips)
 BINS   += inca-swap-bytes$(SFX)
@@ -99,1 +99,1 @@
-HOST_CFLAGS += -D__WIN32__
+#HOST_CFLAGS += -D__WIN32__
@@ -139,6 +139,10 @@
 		$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
 		$(STRIP) $@
Danke für die Hilfe