2012-03-27 11 views
0

Ich möchte einen Quellcode kompilieren, aber es gibt einige Kompilierung Fehler über __sync_xxx Funktionen (__sync_bool_compare_and_swap etc.)gcc kompilieren Fehler auf Solaris 10

GCC-Version auf der Maschine ist 3.4.3 (es muss gcc sein 4.1 oder Over für die Unterstützung atomarer Builtins), also habe ich GCC v4.6 heruntergeladen, es in ein anderes Verzeichnis kopiert (ich habe v3.4.3 nicht entfernt) und dann den $PATH Pfad für GCC geändert, aber es funktioniert nicht (der gleiche Fehler tritt auf) .

Ich möchte fragen, dass nur gcc Pfad mit export PATH=... genug für die Kompilierung mit neuen GCC ändern?

+0

Im Kontext Ihrer Build-Umgebung geben Sie 'gcc --version' ein, um festzustellen, ob die richtige Toolchain gefunden wird. –

+0

Haben Sie den Konfigurationsschritt ausgeführt, der für diesen Build geeignet ist? – dldnh

+0

Könnten Sie bitte die volle Ausgabe zeigen, indem Sie '-v' übergeben, um weitere Details zu aktivieren? – ShiDoiSi

Antwort

0

Verwenden Sie die folgenden configure Option, wenn gcc kompilieren:

--program-prefix=foo --program-suffix=bar 

und es wird sind Programme der Form "foo-gcc-Bar", zu produzieren, so dass Sie verschiedene unterscheiden können von gcc aufbaut.

Ersetzen Sie foo und/oder bar mit einem passenden "Tag" für Ihren Build (zB "-4.6" zum Beispiel).

Auf diese Weise wird es, wenn es Ihre Toolchain nicht richtig findet, schneller ausfallen als die Version 3.4.

Es bedeutet auch, dass verschiedene Toolchain-Builds in den Standardinstallations-Präfixverzeichnissen koexistieren können.

0

Wir müssen -march = 686 Schalter verwenden, um es auf Intel zu arbeiten.

0

Versuchen Sie, LD_LIBRARY_PATH zu überprüfen und zu aktualisieren, um den lib-Pfad für das neue installierte gcc zu verwenden.