[BUG] Die Firmware aus dem Sourcecode selbst zu erstellen läuft bei einigen Konfigurationen nicht durch unter Windows #202

Closed
opened 2021-09-21 08:34:57 -05:00 by miscrtnone · 5 comments
miscrtnone commented 2021-09-21 08:34:57 -05:00 (Migrated from github.com)

Bug Description

Steps to Reproduce

Gestestet nur mit Version 1.3

Benutze testweise VSC + PlatformIO auf Windows nicht! Linux um die unterschiedlichen Firmwareversionen zu erstellen. 4 Stück werden nicht kompilieren mit dem Fehler avr-g++: CreateProcess: No such file or directory

Expected behavior: [What you expect to happen]

Ohne Änderungen sollte alle kompilieren sowohl auf Windows als auch auf Linux

Actual behavior: [What actually happens]

MEGA_S_DGUS_TMC_BLT_10
MEGA_S_DGUS_TMC_BLT_11

MEGA_X_DGUS_TMC__BLT_10
MEGA_X_DGUS_TMC__BLT_10

kompilieren mit einem Fehler

image

Additional Information

Testweise habe ich auf Linux (Mint) die MEGA_S_DGUS_TMC_BLT_10 kompiliert und hier hat es geklappt.
Meiner Recherche nach gibt es ein maximales Kommandoausführungslimit bei Windows, dass bei den oben genannten evtl. überschritten wird. Vielleicht hat es etwas damit zu tun, das ist zumindest meine Vermutung.
Dieses Video beschreibt es näher.
https://www.youtube.com/watch?v=6kujTCn7sj4

Die meisten Nutzer von Konsumentendrucker werden sich in der Windowswelt bewegen, so auch ich, da absolute Leadplattform im Desktopbereich. Gleichzeitig gibt es doch einige Änderungen, die man gerne selbst einpflegt in deine tolle Firmware, um den eigenen Drucker anzupassen, sodass die fertigen Firmware-Dateien oft keine Lösung sind.

Ich hoffe es gibt dazu eine Lösung, z.B. Dateien herausschmeißen die nicht gebraucht werden, damit dieses Limit nicht überschritten wird (wenn meine Vermutung richtig ist)

### Bug Description <!-- Description of the bug --> ### Steps to Reproduce <!-- Please describe the steps needed to reproduce the issue --> Gestestet nur mit Version 1.3 Benutze testweise VSC + PlatformIO auf Windows nicht! Linux um die unterschiedlichen Firmwareversionen zu erstellen. 4 Stück werden nicht kompilieren mit dem Fehler avr-g++: CreateProcess: No such file or directory **Expected behavior:** [What you expect to happen] Ohne Änderungen sollte alle kompilieren sowohl auf Windows als auch auf Linux **Actual behavior:** [What actually happens] MEGA_S_DGUS_TMC_BLT_10 MEGA_S_DGUS_TMC_BLT_11 MEGA_X_DGUS_TMC__BLT_10 MEGA_X_DGUS_TMC__BLT_10 kompilieren mit einem Fehler ![image](https://user-images.githubusercontent.com/91132066/134180592-8b50166d-ff21-4f11-a44d-4ac79e83d055.png) #### Additional Information Testweise habe ich auf Linux (Mint) die MEGA_S_DGUS_TMC_BLT_10 kompiliert und hier hat es geklappt. <del>Meiner Recherche nach gibt es ein maximales Kommandoausführungslimit bei Windows, dass bei den oben genannten evtl. überschritten wird. Vielleicht hat es etwas damit zu tun, das ist zumindest meine Vermutung. Dieses Video beschreibt es näher. https://www.youtube.com/watch?v=6kujTCn7sj4</del> Die meisten Nutzer von Konsumentendrucker werden sich in der Windowswelt bewegen, so auch ich, da absolute Leadplattform im Desktopbereich. Gleichzeitig gibt es doch einige Änderungen, die man gerne selbst einpflegt in deine tolle Firmware, um den eigenen Drucker anzupassen, sodass die fertigen Firmware-Dateien oft keine Lösung sind. Ich hoffe es gibt dazu eine Lösung, <del> z.B. Dateien herausschmeißen die nicht gebraucht werden, damit dieses Limit nicht überschritten wird (wenn meine Vermutung richtig ist)</del>
knutwurst commented 2021-09-22 07:06:28 -05:00 (Migrated from github.com)

Hallo,
das Problem ist bekannt und tritt tatsächlich durch die Länge des Pfades unter Windows auf.

Ein Workaround ist, die Profile einfach in etwas kürzeres umzubenennen. Diese befinden sich in der Datei i3_mega_envs.ini. Wenn du die Namen kürzt, müsste es gehen.

Da ich mich nur unter macOS und Linux bewege, fiel mir das nie auf.. sorry. Aber jetzt noch alle Umgebungen umzubenennen würde mehr Verwirrung stiften, als es so weiterlaufen zu lassen. Außerdem kann man auch die maximale Verzeichnistiefe in Windows anpassen. : https://docs.microsoft.com/de-de/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd

Hallo, das Problem ist bekannt und tritt tatsächlich durch die Länge des Pfades unter Windows auf. Ein Workaround ist, die Profile einfach in etwas kürzeres umzubenennen. Diese befinden sich in der Datei i3_mega_envs.ini. Wenn du die Namen kürzt, müsste es gehen. Da ich mich nur unter macOS und Linux bewege, fiel mir das nie auf.. sorry. Aber jetzt noch alle Umgebungen umzubenennen würde mehr Verwirrung stiften, als es so weiterlaufen zu lassen. Außerdem kann man auch die maximale Verzeichnistiefe in Windows anpassen. : https://docs.microsoft.com/de-de/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd
miscrtnone commented 2021-10-02 05:35:04 -05:00 (Migrated from github.com)

Hallo,
du schreibst, dass das Problem bekannt ist und vermutest, anders als ich, die Verzeichnistiefe, die jeder Nutzer selbst beheben kann. Konntest du schon unter irgend einem aktuellen Windows verifizieren, dass die Firmware (bei den problematischen Variationen) mit einem Fix oder Workaround erfolgreich kompiliert?

Die Verzeichnistiefe von Windows zu ändern mittels eines Registry-Eingriff (+Neustart) bringt leider bei mir keine Verbesserung (getestet) Version 1.3. Anbei ein Screenshot.
after_registry_fix

Hallo, du schreibst, dass das Problem bekannt ist und vermutest, anders als ich, die Verzeichnistiefe, die jeder Nutzer selbst beheben kann. Konntest du schon unter irgend einem aktuellen Windows verifizieren, dass die Firmware (bei den problematischen Variationen) mit einem Fix oder Workaround erfolgreich kompiliert? Die Verzeichnistiefe von Windows zu ändern mittels eines Registry-Eingriff (+Neustart) bringt leider bei mir keine Verbesserung (getestet) Version 1.3. Anbei ein Screenshot. ![after_registry_fix](https://user-images.githubusercontent.com/91132066/135712653-949c1104-9a02-4ef0-a160-d404a6a036c9.jpg)
miscrtnone commented 2021-10-06 08:17:25 -05:00 (Migrated from github.com)

Ich habe mich jetzt nochmal damit beschäftigt.
Wenn ich, wie von dir als Workaround Lösung angedeutet hast (Danke hierfür), unter Windows in die i3_mega_envs.ini eine Environment für die in meinem Fall problematische Mega Konfiguration erstelle (Werte von MEGA_S_DGUS_TMC_BLT_10 übernommen), mit verkürztem Namen, plus den Namen in die platformio.ini hinzufüge bei den default_envs, dann kompiliert die Firmware.
In meinem Fall habe ich mehr oder weniger die CamelCase-Schreibweise verwendet, um die Unterstriche einzusparen. [Einen Funktionstest habe ich damit noch nicht gemacht].

Ich habe mal getestet, bei wie vielen zusätzlichen Zeichen die Firmware nicht mehr kompiliert, anbei ein Screenshot.
Workaround

Ob die CamelCase-Schreibweise jetzt wirklich mehr Verwirrung stiften würden, als Windows Nutzer, die schon direkt zum Start beim Kompilieren mit einem Fehler konfrontiert werden, der nicht auf ihren eigenen Änderungen beruht, ... das musst du selber entscheiden. (Vielleicht ist ein sehr deutlicher Hinweis darauf auch eine pragmatische Workaroundlösung).

Ich habe mich jetzt nochmal damit beschäftigt. Wenn ich, wie von dir als Workaround Lösung angedeutet hast (Danke hierfür), unter Windows in die i3_mega_envs.ini eine Environment für die in meinem Fall problematische Mega Konfiguration erstelle (Werte von MEGA_S_DGUS_TMC_BLT_10 übernommen), mit verkürztem Namen, plus den Namen in die platformio.ini hinzufüge bei den default_envs, dann kompiliert die Firmware. In meinem Fall habe ich mehr oder weniger die CamelCase-Schreibweise verwendet, um die Unterstriche einzusparen. [Einen Funktionstest habe ich damit noch nicht gemacht]. Ich habe mal getestet, bei wie vielen zusätzlichen Zeichen die Firmware nicht mehr kompiliert, anbei ein Screenshot. ![Workaround](https://user-images.githubusercontent.com/91132066/136209470-27c0827e-ef19-40a7-aca8-1eaa28b3b087.jpg) Ob die CamelCase-Schreibweise jetzt wirklich mehr Verwirrung stiften würden, als Windows Nutzer, die schon direkt zum Start beim Kompilieren mit einem Fehler konfrontiert werden, der nicht auf ihren eigenen Änderungen beruht, ... das musst du selber entscheiden. (Vielleicht ist ein sehr deutlicher Hinweis darauf auch eine pragmatische Workaroundlösung).
github-actions[bot] commented 2021-12-05 20:11:12 -06:00 (Migrated from github.com)

This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days.

This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days.
github-actions[bot] commented 2022-02-10 08:12:25 -06:00 (Migrated from github.com)

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wp/Marlin-2-0-x-Anycubic-i3-MEGA-S#202
No description provided.