Wie man einen von Hand kompilierten gcc zu gcc_select hinzufügt

1616
Charles Stewart

Auf einem alten iBook G4, auf dem Tiger ausgeführt wird und der nicht auf Leopard aktualisiert werden sollte, und der daher nicht über XCode 2.5 hinaus aktualisiert werden kann, möchte ich einige Pakete aus dem Quellcode entweder aus Fink oder MacPorts kompilieren. Diese Pakete erfordern gcc 4.0.

Ich habe ein perfekt anständiges gcc 4.0 von Hand zusammengestellt, aber gcc_select, das sowohl von Fink als auch von MacPorts zur Auswahl von gcc-Versionen verwendet wird, kennt nicht deren Existenz, sondern nur das gcc 3.3, das mit XCode geliefert wurde. Wie bekomme ich gcc_select, um die Existenz dieses Compilers anzuerkennen?

Antwort Dem Vorschlag von Chris nach habe ich gesehen, dass mein gcc_select -n 4.0gcc-4.0 gefunden wurde, aber nicht g ++ - 4.0. Die Installation von XCode 2.5 hat den Trick geleistet.

0

2 Antworten auf die Frage

1
fideli

Wenn Sie gcc_select über MacPorts installiert haben (ich bin nicht sicher, ob es sich um das von Apple oder Fink handelt), sollten Sie in der Lage sein, einen Eintrag hinzuzufügen, indem Sie zu navigieren /opt/local/etc/select/gcc. Checken Sie die Basisdatei aus, die Ihre Referenz ist, und erstellen Sie dann eine neue Datei, die die entsprechenden Positionen zu Ihrer von Hand kompilierten gcc enthält. Zum Beispiel auf meinem Rechner:

$ cat base bin/gcc bin/cpp bin/c++ bin/g++ bin/gcj bin/gcov bin/gfortran  $ cat mp-gcc43  bin/gcc-mp-4.3 bin/cpp-mp-4.3 bin/c++-mp-4.3 bin/g++-mp-4.3 bin/gcj-mp-4.3 bin/gcov-mp-4.3 bin/gfortran-mp-4.3 

Ich habe das eigentlich nicht ausprobiert (ich bin eigentlich kein C-Coder, also habe ich Angst davor, Dinge zu vermasseln), aber hoffentlich hilft das!

EDIT
Eine andere Sache: Zumindest für python_select werden Elemente in der Basisdatei, die nicht in der select-Datei enthalten sind, durch ein ersetzt -.

Vielen Dank. Es ist nicht von MacPorts; Ich nahm an, dass es von XCode kommt (was \ usr \ sbin \ gcc_select; Versionsstring "gcc Version 3.3 20030304 (Apple Computer, Inc. Build 1809)" gibt. Ich werde nach etwas suchen, das der von Ihnen angegebenen cfg-Datei ähnelt. Charles Stewart vor 14 Jahren 0
1
Chris Johnsen

Welche gcc_selectund verwendest gccdu? Es gibt eine, die mit dem System geliefert wird, und eine, die in MacPorts verfügbar ist (ich verwende Fink nicht und ich habe keine in der Paketliste gefunden). Ich habe den MacPorts nicht installiert, aber wenn man sich das Portfile anschaut, scheint es so zu sein, dass nur die MacPorts- gccInstallationen (/ opt / local / bin / gcc) verwaltet werden. Das System gcc_selectverwaltet /usr/bin/gcc.

Das System gcc_selectstammt aus den normalen Developer Tools ( DeveloperToolsCLI.pkg). Wenn Sie eine gccandere als die von den Developer Tools-Installationen bereitgestellte auswählen, ist dies möglicherweise „nicht unterstützt“. Es könnte funktionieren, aber es würde die Installation in (oder zumindest Symlinks in) verschiedenen "System" -Verzeichnissen erfordern. Versuchen Sie (zB) gcc_select -n 4.9zu sehen, was erwartet wird.


Mein iBook G4 mit 10.4, auf dem die Entwicklertools installiert sind, hat standardmäßig gcc 4.0.1.

% gcc --version powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370) 

Auch ist mein gcc-3.3Build ein anderer als der von Ihnen.

% gcc-3.3 --version gcc-3.3 (GCC) 3.3 20030304 (Apple Computer, Inc. build 1819) 

Möglicherweise haben Sie eine alte und / oder unvollständige Installation der Developer Tools. Laut den Quittungen kam mein gcc-4.0 aus gcc4.0.pkg. Ich habe in meinem Archiv xcode25_8m2558_developerdvd.dmggesucht (946768492 Byte), das ich vor langer Zeit über die Apple Developer Connection heruntergeladen habe.