[Solved]Gluon Build schlägt fehl

Hallo miteinander,

ich bin derzeit dabei Gluon für unsere lokale Community zu bauen. Allerdings funktioniert das noch nicht wirklich :slight_smile:

Ich habe mir jetzt mal Gluon in der Version v2015.1.2 geklont und mir eine site.conf erstellt.

Leider bekomme ich diese Fehlermeldung:

make[4]: Leaving directory '/home/cernota/git/gluon/openwrt/packa
ge/kernel/mac80211'

make[3]: Leaving directory '/home/cernota/git/gluon/build/ar71xx-
generic/openwrt'

package/Makefile:170: recipe for target '/home/cernota/git/gluon/
build/ar71xx-generic/openwrt/staging_dir/target-mips_34kc_uClibc-
0.9.33.2_gluon-ar71xx-generic/stamp/.package_compile' failed

make[2]: *** [/home/cernota/git/gluon/build/ar71xx-generic/openwr
t/staging_dir/target-mips_34kc_uClibc-0.9.33.2_gluon-ar71xx-gener
ic/stamp/.package_compile] Error 2

make[2]: Leaving directory '/home/cernota/git/gluon/build/ar71xx-
generic/openwrt'

/home/cernota/git/gluon/Makefile:289: recipe for target 'prepare'
 failed

make[1]: *** [prepare] Error 2

make[1]: Leaving directory '/home/cernota/git/gluon/build/ar71xx-
generic/openwrt'

Makefile:69: recipe for target 'all' failed

make: *** [all] Error 2

Danke im vorraus

Hallo,

ich hab auch noch nicht den Blick dafür Gluon Compilerfehler zu verstehen, aber wenn du es erstmalig probierst, wäre die erste Frage, ob du dir alle Abhängigkeiten installiert hast?

http://gluon.readthedocs.org/en/latest/user/getting_started.html#dependencies

Ansonsten poste bitte Mal die vollständige Ausgabe, der Abschnitt da ist zu kurz um das zu interpretieren (zumindest für mich :D).

Grüße
MPW

1 Like

Hallo MPW,

hab mal den kompletten Log in ein Pad kopiert:
https://pad.freifunk.net/p/fehler-build-gluon

Welche Befehle führst du genau aus und hast du die Abhängigkeiten installiert?

Bitte benutze einen pastebin-Service. Das in dem Pad ist ja grauenvoll zu lesen :D.

Grüße
MPW

Abhängigkeiten hab ich soweit installiert.

Ich habe mir für Gluon den Tag v2015.1.2 aufcheckt.
Dann die site-example kopiert und angepasst.
make update im Gluon Verzeichnis
export GLUON_TARGET=ar71xx-generic
make -j4 V=s

Mein Log ist leider zu lang für Pastebin :blush:
Gruß
Fabian

Hat sich glaube ich erledigt trotzdem danke

1 Like

Schön, dass es bei dir klappt. Es wäre immer gut zur Dokumentation dann dazu zu schreiben, was denn schief gelaufen ist? Wenn jemand das hier Mal bei Google findet, will er ja wissen, woran das Problem lag.

Auch für andere, ich nutze diese Befehle zum Kompilieren:

make update GLUON_RELEASE=v2015.1.2+VERSION GLUON_TARGET=ar71xx-generic
make clean GLUON_RELEASE=v2015.1.2+VERSION GLUON_TARGET=ar71xx-generic

make GLUON_RELEASE=v2015.1.2+VERSION GLUON_TARGET=ar71xx-generic GLUON_BRANCH=stable

Ich hab aber auch noch nicht ganz verstanden, wann man clean braucht.

1 Like

So hat es bei mir auch funktioniert Fehler war mein -j4 ohne diesen Parameter läuft es.

Der Parameter -j4 ist dafür gedacht, wenn man auf 4 Prozessorkernen bauen will, falls man keine 4 hat geht das nicht. Da ich kein Linuxcrack bin gucke ich einfach in ‚htop‘ und dann kann man oben sehen wie viele Prozessorkerne man hat, jeder Kern hat eine Anzeige der Auslastung. Sind da nur 2, dann sollte man nur -j2 benutzen, sind da 8, dann geht auch -j8, aber auch -j4 sollte bei 8 Kernen funktionieren. @FabianCernota wäre interessant wieviele Kerne du hast und ob es daran liegen könnte.

Ich baue aktuell mit:

make -j4 GLUON_TARGET=ar71xx-generic GLUON_BRANCH=experimental GLUON_RELEASE=0.7-$(date +"%Y-%m-%d_%H-%M") BROKEN=1

Das funktioniert soweit ganz gut, jetzt suche ich allerdings noch den Kniff um auch für den 841 v10 mit zu bauen.

Eine kurze Erklärung wann man ‚make‘, wann ‚make update‘ und wann ‚make clean‘ genutzt werden sollte wäre toll. Das sind so die Grundlagen die mir fehlen, dass letzte mal SW gebaut habe ich leider auch vor mehr als 12 Jahren, als es noch nicht alles in Paketen gab (also jetzt für Linux, unabhängig von OpenWRT).

Oh jetzt hab ich einen Zombithread geschaffen. Hmm tut mir leid, nicht genau aufgepasst. :frowning:

Beim Parameter -j können sowohl logische als auch physische Kerne angegeben werden. Intel Mehrkern CPUs haben oft HT (Hyper Threadning). Hier kann dann die Anzahl physischer Kerne mal 2 genommen werden (jeder physischer Kern hat einen logischen).

Make update aktualisiert alle Targets auf die aktuelle site.mk, lädt also alles herunter was nötig ist um die in der site.mk genannten Pakete und Toolboxen für alle Targets zu kompilieren.

Make clean im zusammenhang mit einem Target (make clean GLUON_TARGET=ar71xx-generic) löscht alle vorkompilierten Pakete und Toolboxen, die zur Erstellung eines Targets nötig sind.

2 Likes