Fehler bei YADD Erstellung mit ybuild

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Fehler bei YADD Erstellung mit ybuild

Beitrag von bellum »

Hallo zusammen,

bin gerade dabei ein YADD mit ybuild auf einem Debian etch System zu erstellen. Beim Kommando bs (make yadd-neutrino-jffs2-all) kommt folgender Fehler: :(

make -C /home/bellum/tuxbox/tuxbox-cvs/apps/tuxbox/tools/cdkVcInfo install
make[1]: Entering directory `/home/bellum/tuxbox/tuxbox-cvs/apps/tuxbox/tools/cdkVcInfo'
make[2]: Entering directory `/home/bellum/tuxbox/tuxbox-cvs/apps/tuxbox/tools/cdkVcInfo'
test -z "/home/bellum/tuxbox/dbox2/cdkroot/bin" || mkdir -p -- . "/home/bellum/tuxbox/dbox2/cdkroot/bin"
/usr/bin/install -c 'cdkVcInfo' '/home/bellum/tuxbox/dbox2/cdkroot/bin/cdkVcInfo'
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/bellum/tuxbox/tuxbox-cvs/apps/tuxbox/tools/cdkVcInfo'
make[1]: Leaving directory `/home/bellum/tuxbox/tuxbox-cvs/apps/tuxbox/tools/cdkVcInfo'
make: *** No rule to make target `nfsserver', needed by `yadd-none'. Stop.

Habe in der Konfiguration den dbox Konfiguration den nfs-Server deaktiviert und das debian nfs-Server Paket installiert.
Ein make-flash-neutrino-jffs2-all läuft übrigens komplett durch.

Any ideas?

In welchem Verzeichnis liegt denn eigentlich das fertige YADD?

Danke schon mal für die Hilfe

bellum
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

also ein "make yadd-all" läuft bei mir täglich durch..

Code: Alles auswählen

./autogen.sh
./configure --prefix="$DB" --with-cvsdir="$CP" --enable-flashrules --enable-ide --enable-lirc --enable-cdkVcInfo --with-checkImage=rename --with-logosdir="$CF"/Logos --with-updatehttpprefix=http://tuxbox2.trale.de/atm/files/DB2_Images/


make flash-neutrino-all-all || exit 1
make flash-enigma-squashfs-all || exit 1
make flash-enigma-jffs2-all || exit 1

make yadd-all || exit 1
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Beitrag von bellum »

dietmarw hat geschrieben:also ein "make yadd-all" läuft bei mir täglich durch..

Code: Alles auswählen

./autogen.sh
./configure --prefix="$DB" --with-cvsdir="$CP" --enable-flashrules --enable-ide --enable-lirc --enable-cdkVcInfo --with-checkImage=rename --with-logosdir="$CF"/Logos --with-updatehttpprefix=http://tuxbox2.trale.de/atm/files/DB2_Images/


make flash-neutrino-all-all || exit 1
make flash-enigma-squashfs-all || exit 1
make flash-enigma-jffs2-all || exit 1

make yadd-all || exit 1
Hallo dietmar,

Danke für Deinen Hinweis. Daraufhin habe ich mal folgende Konfiguration versucht:

Code: Alles auswählen

if/iy - ide.............................Flash: y YADD: y
ef/ey - ext3............................Flash: n YADD: n
xf/xy - xfs.............................Flash: y YADD: y
nf/ny - nfsserver.......................Flash: n YADD: y
sf/sy - sambaserver.....................Flash: n YADD: y
lf/ly - lirc............................Flash: n YADD: n
vf/vy - cdkVcInfo.......................Flash: y YADD: y
gf/gy - german-keymaps..................Flash: n YADD: n
af/ay - patch before configure (autom.).Flash: y YADD: y
Damit lief dann ein make yadd-neutrino-jffs2-all ohne Fehler, durch.
Sobald ich den nfsserver (und sambaserver) deaktiviere kommt wieder die gleiche Fehlemeldung. :(
Würde aber gern den nfsserver und sambaserver deaktivieren, da ich diese nicht benötige.

Gruß bellum
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Beitrag von bellum »

Hallo nochmal,
habe noch etwas weitergeforscht...

Ausgangspunkt ist folgende Konfiguration:

Code: Alles auswählen

if/iy - ide.............................Flash: y YADD: y
ef/ey - ext3............................Flash: n YADD: n
xf/xy - xfs.............................Flash: y YADD: y
nf/ny - nfsserver.......................Flash: n YADD: n
sf/sy - sambaserver.....................Flash: n YADD: n
lf/ly - lirc............................Flash: n YADD: n
vf/vy - cdkVcInfo.......................Flash: y YADD: y
gf/gy - german-keymaps..................Flash: n YADD: n
af/ay - patch before configure (autom.).Flash: n YADD: n
Rufe ich dann cy - Configure - Yadd auf so werden folgende Flags generiert:

Code: Alles auswählen

FLAGS generated =  --enable-ide --disable-lirc --disable-ext3 --enable-xfs --disable-nfsserver --disable-sambaserver --enable-cdkVcInfo --disable-german-keymaps

IDE support:           yes
Ext2/3 support for IDE: no
XFS support for IDE:   yes
NFS server:            no
Samba server:          no
German keymaps:        no
Schaue ich mir nun das generierte Makefile an so findet man:

Code: Alles auswählen

yadd-none: bare-os config tuxbox_tools procps ftpd yadd-ucodes automount lirc cdkVcInfo xfsprogs nfsserver sambaserver console_tools version defaultlocale
	[ -x $(customizationsdir)/$(notdir $@)-local.sh ] && $(customizationsdir)/$(notdir $@)-local.sh $(targetprefix) $(buildprefix) || true
Anscheinend wirkt sich das --disable-lirc --disable-nfsserver --disable-sambaserver nicht auf das make target yadd-none aus. Lösche ich die Eintrage lirc nfsserver sambaserver so läuft auch der Build-Prozess fehlerfrei durch.

Ist das nun ein Fehler von ybuild oder des newmake configure?
Wer kann das fixen?

Danke und Gruß bellum
Zuletzt geändert von bellum am Sonntag 29. April 2007, 19:36, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

braucht's das überhaupt?

Code: Alles auswählen

--disable
entweder

Code: Alles auswählen

--enable
oder ganz weglassen :roll:
"--disable" hatte ich noch nie im configure drin. Wenn das da im ybuild reingeschrieben wird, sollte man das doch lieber weglassen, oder :gruebel:
Da müsste man yjogol mal ansprechen...
siehe Thread
StevenSch
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Mittwoch 20. Oktober 2004, 12:41

Beitrag von StevenSch »

Die --disable-Option gibts offensichlich nur für flash, möglicherweise mit der Begründung dass beim yadd im Gegensatz zum Flash die "Imagegröße" zweitrangig ist.

Meiner Meinung nach sollte man das ganze so ändern, dass disable komplett entfällt und gewünschte Optionen zur Minimal-Konfiguration mit --enable zugeschaltet werden können.
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Beitrag von bellum »

StevenSch hat geschrieben:Die --disable-Option gibts offensichlich nur für flash, möglicherweise mit der Begründung dass beim yadd im Gegensatz zum Flash die "Imagegröße" zweitrangig ist.

Meiner Meinung nach sollte man das ganze so ändern, dass disable komplett entfällt und gewünschte Optionen zur Minimal-Konfiguration mit --enable zugeschaltet werden können.
Danke für die Infos. Ich habe mir die Skripte auch schon mal angesehen...
Leider steht im Moment meine Hardware zum Testen 200 km entfernt. :(
Komme erst wieder am Wochenende zum Testen und melde mich dann noch mal...

Gruß bellum
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Beitrag von bellum »

So, habe jetzt mal getestet...

Ich habe in ybstart.sh die Funktion _do_configure_build_features() folgendermaßen abgeändert:

Code: Alles auswählen

_do_configure_build_features()
{
#	varname="conf$1"_"$2"
#	val=${!varname}
#	if [ "$val" == "y" ]; then
#		flag="--enable-$3"
#	else
#		flag="--disable-$3"
#	fi
	varname="conf$1"_"$2"
	val=${!varname}
	if [  "$2" == "FLASH" ]; then
		if [ "$val" == "y" ]; then
			flag="--enable-$3"
		else
			flag="--disable-$3"
		fi
	else
		if [ "$val" == "y" ]; then
			flag="--enable-$3"
		else
			flag=""
		fi
	fi
}
Mit cy - Configure - Yadd auf werden nun folgende Flags generiert:

Code: Alles auswählen

FLAGS generated =  --enable-ide   --enable-xfs   --enable-cdkVcInfo

IDE support:           yes
Ext2/3 support for IDE: yes
XFS support for IDE:   yes
NFS server:            no
Samba server:          no
German keymaps:        no
Im Makefile steht nun:

Code: Alles auswählen

yadd-none: bare-os config tuxbox_tools procps ftpd yadd-ucodes automount  cdkVcInfo xfsprogs    version defaultlocale
Der Build-Prozess läuft nun ohne Fehler durch und alles sieht auf den ersten Blick gut aus...
Bis auf:
1. Die Flags und die Zeile yadd-none im Makefile enthalten Leerzeichen von den fehlenden Parametern (ist nur ein Schönheitsfehler)
2. In der Zeile yadd-none im Makefile fehlen auch die console_tools
3. Laut configure Ausgabe wird jetzt auch ext2/3 Support gebaut

Ich habe den Eindruck, dass das weglassen der disable-Parameter nicht der richtige Weg ist und der Fehler eher im newmake Bereich liegt.
Soweit reichen meine Kenntnisse aber leider nicht.
Wer kann sich das evtl. mal ansehern, wo Barf ja nicht mehr da ist?

Danke und Gruß bellum
fran
Interessierter
Interessierter
Beiträge: 64
Registriert: Mittwoch 26. April 2006, 09:44

Beitrag von fran »

zu 1: ist ok
zu 2: auch ok, da der German keymap flag nicht aktiviert ist.
zu 3: auch ok, da --enable-ide die ext2/3-Driver und -Tools automatisch mitbaut.

Der disable flag sollte beibehalten werden, da dieser aktuell für das Deaktivieren der ext2/3-Sachen benötigt wird.

Konnte dein Problem mit dem disable-Flag nachvollziehen, liegt an der fehlerhaften Auswertung eines Macro-Arguments im configure.ac Script, welches für die yadd-Variablen maßgebend ist. Bitte update dein cvs, mach deine Änderungen rückgängig und teste das ganze noch mal mit --disable-bla. Soweit ich das sehe, müßte es jetzt klappen (hab allerdings kein ybuild).
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Beitrag von bellum »

fran hat geschrieben:Konnte dein Problem mit dem disable-Flag nachvollziehen, liegt an der fehlerhaften Auswertung eines Macro-Arguments im configure.ac Script, welches für die yadd-Variablen maßgebend ist. Bitte update dein cvs, mach deine Änderungen rückgängig und teste das ganze noch mal mit --disable-bla. Soweit ich das sehe, müßte es jetzt klappen (hab allerdings kein ybuild).
Hallo fran,
suuuper hat nun funktioniert, der Build-Prozess läuft durch! :D Vielen Dank!

Mit cy - Configure - Yadd auf werden nun folgende Flags generiert:

Code: Alles auswählen

FLAGS generated =  --enable-ide --disable-lirc --disable-ext3 --enable-xfs --disable-nfsserver --disable-sambaserver --enable-cdkVcInfo --disable-german-keymaps

IDE support:           yes
Ext2/3 support for IDE: no
XFS support for IDE:   yes
NFS server:            no
Samba server:          no
German keymaps:        no
Im Makefile steht:

Code: Alles auswählen

yadd-none: bare-os config tuxbox_tools procps ftpd yadd-ucodes automount  cdkVcInfo xfsprogs    version defaultlocale
Sieht soweit gut aus, nur vermisse ich die console_tools. Die müssten doch jetzt auch gebaut werden weil das German keymap flag wieder da ist oder werden die nur bei einem enable gebaut. Welchen Zweck haben die?

Wofür ist eigentlich cdkVcInfo? Wenn man das Programm auf der box startet passiert nix... :gruebel:

Gruß bellum
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

cdkVcInfo schreibt dir beim booten die Image Informationen auf den TV Bildschirm.

Funktioniert bei mir via Newmake auch nicht.. bekomme nur blinkenden Cursor und dann startet die Box weiter
bellum
bbs-Maintainer
Beiträge: 282
Registriert: Montag 23. Oktober 2006, 22:13

Beitrag von bellum »

PT-1 hat geschrieben:cdkVcInfo schreibt dir beim booten die Image Informationen auf den TV Bildschirm.

Funktioniert bei mir via Newmake auch nicht.. bekomme nur blinkenden Cursor und dann startet die Box weiter
Danke für die Info, bei mir funktioniert das aber, wenn ich in den Treiber- und Bootoptionen die Option "Infos beim Booten anzeigen" aktiviere...

Gruß bellum
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

PT-1 hat geschrieben:cdkVcInfo schreibt dir beim booten die Image Informationen auf den TV Bildschirm.

Funktioniert bei mir via Newmake auch nicht.. bekomme nur blinkenden Cursor und dann startet die Box weiter
Mach mal ein make tuxbox_tools! Wenns dann geht, was es eigentlich sollte, baue das einfach in ein custom-Script ein...etwas tückisch aber deswegen sind die custom-Scripte ja da, denke ich :wink: