Aktueller Fehler in meiner VM:
Hier bist Du etwas zu geizig beim Kontext, in dem dieser Fehler auftritt.
EDIT: Ich habe nicht gesehen, daß der Fehlertext da als "QUOTE" stand und daher unten abgeschnitten war (ich würde immer eher "CODE" benutzen, auch wegen des Verzichts auf Proportionalschrift) - man sieht ja doch, daß das beim Konfigurieren des "nano"-Pakets auftritt, also beim (weiter unten) erwähnten Konfigurieren der von
NCURSES abhängigen Pakete.
NCURSES ist eine Bibliothek zur (einheitlichen) Ansteuerung von Terminals. Diese verfügen (aus historischen Gründen) über viele verschiedene Steuercodes, die sich auch zwischen den verschiedenen Modellen unterscheiden. Die passenden Steuercodes für solche Terminals (oder ihre Emulationen in Software) werden in der "terminfo"-Database zusammengestellt und der Benutzer entscheidet am Ende über die "TERM"-Variable im Shell-Environment seiner Session, welches dieser Sets benutzt werden soll für die Ausgabe.
In Freetz(-NG) wird
NCURSES an mind. zwei - ziemlich unterschiedlichen - Stellen verwendet ... einmal für die Darstellung beim "make menuconfig" (das ist das Programm "tools/config/mconf") und auf der anderen Seite auch im Image, wo es für verschiedene Programme (von "htop" über "nano" bis zum Midnight Commander) benötigt wird.
Man muß also zumindest erkennen können, an welcher Stelle das "configure" für
NCURSES (das paßt das Paket an die vorhandene Umgebung an, weil sich auch die Linux-Distributionen unterscheiden und häufig kann das dabei verwendete "autoconf" ein Paket auch für vollkommen andere OS konfigurieren) mit der gezeigten Fehlermeldung aufläuft - Ursache kann sowohl eine Aktualisierung von "Kconfig" sein, als auch das Update für das "ncurses"-Paket auf Version 6.
Version 6 von
NCURSES ist (bekanntermaßen) mit Version 5 nicht "binärkompatibel" ... da hat sich das "application binary interface" (ABI) geändert (weil es einfach mal ein paar Erweiterungen/Änderungen brauchte nach sehr langer Zeit), auch wenn es weiterhin einen "compat mode" gibt. Nur ist es eine schlechte Idee, V6 und V5 auf einem System durcheinander zu werfen - daher muß man/sollte man sich für eine entscheiden und da kann dann so ein Update auf
NCURSES 6 schon mal viele weitere notwendige Änderungen nach sich ziehen (obwohl es source-kompatibel sein sollte, also eine neue Übersetzung der Quellen einer Anwendung, die ihrerseits
NCURSES nutzt, bereits ausreichen sollte - nur grau ist eben alle Theorie).
Bei
NCURSES kommt dann noch hinzu, daß das Paket zu einem Teil aus der reinen Übersetzung der Bibliothek besteht und zum anderen aus der Konfiguration der "terminfo"-Datenbank für das Zielsystem - daher ist das auch gesondert behandelt im "fwmod", wo sicherlich jeder schon mal die Debug-Meldungen dafür gesehen hat.
Damit das Erstellen der Bibliothek und das Bereitstellen der "pkg-config"-Dateien (das sind die ".pc"-Files) für die anderen Pakete, die ihrerseits
NCURSES verwenden wollen, auch in der "cross build"-Umgebung von Freetz sauber funktioniert (speziell, damit die anderen Pakete das auch alles finden), müssen einige Dateien in
NCURSES angepaßt werden, wo das nicht für einen solchen Einsatz schon präpariert ist. Und daran mangelte es tatsächlich auch bisher (nach meiner Erfahrung) im Freetz-Projekt - das ist auch ein Grund, warum ich bei mir zusätzliche Patches für dieses Paket (allerdings in V5) in einem Branch habe (
https://github.com/PeterPawn/YourFreetz/commits/ncurses), die garantiert für V6 auch nicht passen. Aber schon dabei fiel mir dann auf, daß da in diesem Paket (auch nach meinen Patches) noch eine Abhängigkeit von Dateien auf dem Build-Host besteht (oder es war bei anderen Paketen, die dann ihrerseits auf das Vorhandensein von NCURSES testen und das aber in den Verzeichnissen des Hosts machen und nicht in denen für den Cross-Build - das weiß ich aus dem Kopf nicht mehr genau), die aber so lange nicht stört, wie der Host und das Build-Target dieselben Versionen nutzen.
Erst dann, wenn das auseinanderläuft, führen solche "unvollständigen Patches" für das Package (zum Cross-Build) zu einem Problem - und das dürfte hier (zumindest bei dem, was man zuerst in der Issue sah, die hier irgendwo schon erwähnt wurde) auch eines sein (vielleicht auch nicht das Einzige). Das erklärt dann auch, warum
@cuma sich darauf versteift, daß bei ihm kein Problem aufgetreten ist - sein Host verwendet ein anderes OS als Deine Freetz-VM und daher wohl auch eine andere "Basisversion" von
NCURSES. Üblicherweise läßt sich das mit den richtigen "compatibility files" lösen ... welche hier genau fehlen (bzw. ob das auch hier reicht), muß man sich genauer ansehen - wobei die richtigen Patches tatsächlich die deutlich bessere Lösung sind. Nur muß man dazu die Fehler eben erst einmal (und zwar gründlich) analysieren.
Aber "Schuld" hat hier Dein Freetz-Linux wahrscheinlich eher nicht - ich würde tatsächlich empfehlen, daß Du - bis zur Klärung, wie man das auch unter der VM hinbekommt - einfach mit dem älteren Stand arbeitest. Man kann den einfach durch ein
git rebase -i d16d382
wieder erzeugen (im Verzeichnis mit dem Checkout), indem man die nicht gewünschten Commits einfach aus der dann angezeigten Liste entfernt. Theoretisch sollte es reichen, wenn man die Commits zwischen 825600d4c und 40e9b7769 (jeweils inkl.) ausläßt - zumindest bisher sind da noch keine anderen Änderungen betroffen. Ich konnte jedenfalls (nach einem probehalber ausgeführten "rebase") auf (m)einem openSuse-System mit rollendem Release (Tumbleweed) danach problemlos
NCURSES 5 (über die "Shared Libraries" ausgewählt in der Konfiguration) auch mit dem Freetz-NG-Fork bauen lassen - und hier verwendet der Host auch die V6 (sagt "zypper").
Vielleicht entschließt sich
@cuma ja doch noch, diese Commits erst einmal in einen getrennten Branch zu packen und sie erst dann in den "master" zu überführen, wenn tatsächlich die derzeit auftretenden Probleme (die betreffen ja nicht nur Dich) beseitigt sind ... das mit dem "die können ja einen alten Stand nehmen", ohne das näher zu erläutern, wie das geht, ist ja eher nicht wirklich "kundenfreundlich".
Ich weiß nicht einmal sicher, ob es den "version bump" von 5.9 auf 6.2 tatsächlich gebraucht hätte beim
NCURSES (weil irgendein anderes Paket nun unbedingt V6 haben will) ... aber auch dann hätte man das (m.E.) besser mit einer Auswahl zwischen beiden Versionen gemacht und - bis das alles ausgetestet ist - den Benutzer dann zur "Entscheidung" gezwungen, indem einige Pakete halt V6 wollen und damit die anderen, die nur mit V5 bisher (erfolgreich) getestet wurden, dann gesperrt sind.
Wobei man in einem Test-Branch für diese Änderung auf Version 6.2 (man muß sich nur mal den Umfang des einen Commits ansehen:
https://github.com/Freetz-NG/freetz-ng/commit/825600d4c37e5784eeb650fc997447ffe882cb72) eben auch die nötige Zeit gehabt hätte, das mit Freiwilligen(!) ausgiebig zu testen. So, wie das hier (wieder) gelaufen ist, wurden/werden halt alle Freetz-NG-Benutzer "zwangsrekrutiert" für einen solchen Test - aber das Thema hatte ich mit
@cuma mittlerweile oft genug am Wickel und ich sehe nicht, daß es irgendwelche Fortschritte an dieser Stelle gibt oder gegeben hat ... daher macht es auch wenig Sinn, das jetzt erneut zu diskutieren. Mein Argument, daß dann die Benutzer "mit den Füßen abstimmen" würden, läuft ja ohnehin ins Leere, seit es keine Alternative (in Freetz/Freetz) mehr gibt und diesen "Kritikpunkt" meinerseits an seinem Vorgehen, hatte ich ja auch in #25 schon als deutlichen Unterschied in den Ansichten herausgestellt.
Vielleicht schaffen es ja die Freetz-NG-
Benutzer, ihn da irgendwie zu überzeugen und zu einer Arbeitsweise zu bewegen, bei der verläßliche Ergebnisse garantiert sind (im Rahmen des Machbaren). Denn genau dafür ist diese Arbeitsweise mit "feature branches" ja gedacht (was dann bei Git auch zum Workflow erhoben wurde - und da meine ich Git an sich und nicht die diversen SCM-Hoster, die damit arbeiten) ... und diejenigen, die sich das ausgedacht haben und auch diejenigen, die damit (schon seit Jahren und auch schon lange vor Git) beruflich arbeiten, sind ja auch nicht alles nur Idioten. Es hat zwar auch ein paar (wenige) Nachteile, aber die vielen Vorteile überwiegen eben deutlich - welche das konkret sind, ist "im Netz" auch oft genug debattiert worden, das muß man nur lesen und nicht alles noch einmal durchkauen.