*
@Finnegan sagte in GCC 15.1.0 und Modules:
Ich meinte damit die Standardverzeichnisse, in denen der Compiler nach den passenden .gcm-Dateien sucht (sowas wie Standard-Library/Include-Verzeichnisse). Das wird hoffentlich nicht nur ./gcm_cache sein
Es findet sich keinerlei *.gcm im Compilerzeichnis unter /opt/gcc-15.1.0, wo ich den Compiler installiert habe. Da finden sich alle Compiler spezifischen Includes und Libraries aber eben keinerlei *.gcm Dateien. D.h. der Compiler übersetzt das Standardmodul nicht bei der Installation, sondern man muss das pro Projekt jedesmal selbst machen. Und ich wenn ich mit strace -f das überwache sehe ich auch kein Standardverzeichnis in dem der Compiler danach suchen würde, so dass man es von Hand übersetzen und dort ablegen könnte, so dass er das finden würde. Stattdessen sucht der GCC nach etlichen *.gcm Versionen von Standard C Header, die er Zwecks Optimierung nutzen will, und in der Standard Installation nicht finden kann. Für C++ Module macht er das noch nicht. Also, ein todo für eine der nächsten GCC Versionen.
Ja, ich dachte mir schon sowas. Das ist auch der gut ausgetretene "Standardpfad". Wenn man von dem abweicht, läuft man häufiger auf diverse Probleme, die ein eigenes Skript drumherum notwendig machen. So z.B. unter Linux für einen x86_64-w64-mingw32 Host bauen, oder noch spannender: x86_64-w64-mingw32 Host und x86_64-linux-gnu Target (nenn mich bescheuert, aber hab ich alles schon gemacht ). Besonders in solchen Cross-Szenarios treten in dem Autotools-Projekt Probleme auf, die extrem schwer zu debuggen sind und die sehr obskure Lösungen erfordern (wenn er z.B. bei irgendeiner Operation die Wand läuft, weil er eine gebaute Datei ausführen will, das aber auf dem Build-System gar nicht geht, weil es z.B. eine Windows-.exe ist. Oder dass irgendwelche Teile des Builds lustig irgendwelche Pfade und Libraries vom (Linux-) Build-System verwenden, obwohl das Host-System gar kein Linux ist).
Meine Erfahrungen mit Crosscompiler selbst bauen sind schon recht alt, die GCC Distribution war damals noch recht überschaubar, und ich kann nur soviel dazu schreiben – mein Beileid.