-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build failure on a specific machine (despite Docker container) #2
Comments
Seems to be compiling so far. |
So, Situation:
Alle Systeme sind gleich. (Debian Stretch, Docker version 18.03.0-ce, build 0520e24) |
Fehler beim compilieren von tar:
und später:
Aufruf im Container jetzt mit
|
@christf Kannst Du damit was anfangen? |
Shell TrailAuflistung der Shell-Befehle, die ich ausgeführt habe. Host-Shell
Container Shell
|
(Schlägt mit Aufruf von buildOnly.sh übrigens genauso fehl.) |
Das Bauen failt random, das kommt durch die Parallelität. Kannst du den Build-Prozess auf deinem Home-Server einfach nochmal anstupsen und schauen, ob es dann durchbaut? |
Worauf bezieht sich "random"? Ich habe zwei Maschinen, auf denen der Build immer funktioniert (Notebook und HomeServer) und eine, auf der es immer bei tar fehlschlägt (Arbeit). Zahl der Versuche ist inzwischen für den Arbeitsrechner zweistellig. |
Okay, dann ist das wohl noch nen extra Fehler. Wie auch immer sowas passiert. |
Könnte "-j 10" problematisch sein, wenn ich gar keine 10 Kerne habe? Ganz ohne Parallelität habe ich das das Problem aber auch. Es gibt ja auch einen konkreten Compilerfehler! |
Gut, bei mir failt das Bauen halt an zufälligen Stellen, nicht reproduzierbar. |
Das einzige, was ich im Netz zu diesem Fehler finden konnte, war ein Patch von 2014: https://lists.gnu.org/archive/html/bug-tar/2014-09/msg00014.html In Gluon hab ich keine tar-spezifischen Patches gesehen, in OpenWRT gab es nach 15.05 nur Updates von tar insgesamt, keine Patches, die dieses Build-Problem beheben. Vielleicht war eines der Updates von tar ausreichend. Dafür müsste man bei upstream tar mal schauen, ob es dahingehend Änderungen gab oder der o.g. Patch angenommen wurde. |
Das bauen failt nicht random. Das hat immer Gründe. Bislang konnte ich folgende Gründe beobachten:
Ist es jeweils all das nicht? make V=s -j1 könnte hier helfen weil bei make -j10 die Fehlermeldungen wirklich sehr weit oben stehen können. Ist der Ausschnitt wirklich der erste Fehler? |
läuft ohne Fehler durch. |
ok. In dem Fall würde ich auf Verknotung des buildsystems tippen, die dann wohl jetzt bereinigit ist und weiter analysieren, wenn das im master auch auftritt. Wie wollen wir weiter verfahren? |
Ich teste noch einen Build ohne -j1 Wenn das fehlschlägt, würde ich das trotzdem zurückstellen. Wir sind ziemlich weit hinten im Tree und es ist jetzt nur eine Maschine. Wenn das am HEAD auch noch auftritt, dann sollten wir uns etwas überlegen. Ich kann die Situation recht zuverlässig herstellen. |
Parallel build issues gibt es in anderen embedded build Projekten neben OpenWRT auch hin und wieder. In ptxdist und buildroot sieht man entsprechende Commits und Patches, die nur parallel build issues fixen, regelmäßig. Da gebe ich @christf recht, das ist nervig bis schwer zu debuggen, häufig steckt das Problem dann im jeweiligen Projekt (openssl ist mir häufiger negativ aufgefallen) und die haben ggf. sehr unterschiedliche Buildsysteme (autotools, CMake, meson, …). Der Aufwand lohnt für unsere alte Gluon-bzw. OpenWRT-Version denke ich nicht mehr. |
lief nun auch durch. WTF. |
Beide Versuche mit mounts für die Build-Verzeichnisse:
|
Ich stimme euch zu, dass wir das in der alten Version nicht fixen sollten. Hauptsächlich versuche ich gerade, herauszufinden, unter welchen Umständen das Problem auftritt, damit wir dann mit der neuen Version sehen können, ob es beseitigt ist. |
Okay, jetzt habe ich das ursprüngliche Problem auch nicht mehr. Ich schlage vor, wir schließen dieses Issue und ich beobachte das auf neueren Versionen noch einmal. |
Nachtrag: Sobald ich alles in einem Container baue (ohne mounts), schlägt der Build wieder an der gleichen Stelle fehl. Platz auf der Platte sollte genug sein:
|
schlägt ebenfalls fehl, Fehlermeldung ist unverändert. (Ich schreibe das hier mal noch zu Dokumentationszwecken auf.) |
On Wed, Apr 25, 2018 at 08:20:59AM +0000, Stefan Haun wrote:
```
make GLUON_TARGET=ar71xx-generic V=s -j1
```
schlägt ebenfalls fehl, Fehlermeldung ist unverändert.
Hast Du irgendwo den vollständigen buildlog? Ich würd den gern mal
direkt betrachten...
(Ich schreibe das hier mal noch zu Dokumentationszwecken auf.)
Matthias hat am Buildsystem von Openwrt/LEDE sehr viel verändert. Es
wäre in der Tat spannend das noch einmal im master zu sehen.
Was ist denn für ein Dateisystem auf md0p1?
Hattest Du ggf Mal einzelne Schritte als root ausgeführt und andere als
User, z.B. nach mounts? (Ja, das ist die "Haben Sie den Netzstecker eingesteckt"-Frage,
aber man muss ja sowas klären :) )
Gegen ein Issue durch parallel-Build spricht, dass es immer an der
gleichen Stelle bricht.
--
() ascii ribbon campaign - against html e-mail
/\ against proprietary attachments
|
Ich bin nach FreifunkMD/FFMD-Orga#9 (comment) vorgegangen, um mit dem Docker-Image eine Firmware zu bauen, jedoch laufe ich immer in Build-Fehler:
make[5] -C tools/tar compile
make -C /gluon/openwrt -f /gluon/Makefile GLUON_TOOLS=0 QUILT= prepare-target: build failed. Please re-run make with V=s to see what's going on
Makefile:66: recipe for target 'prepare-target' failed
Debian Stretch mit Docker CE 18.03
The text was updated successfully, but these errors were encountered: