colorgcc...

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
g4ul1x
Beiträge: 97
Registriert: 03.05.2005 21:30:40

colorgcc...

Beitrag von g4ul1x » 01.07.2005 22:47:13

Hi,

also da ich schon seit langer Zeit es ziemlich lästig finde, wenn ich was programmiere dann nach den Fehler,der mir der compiler gibt in meiner konsole rumzusuchen, habe ich den Tip bekommen das colorgcc zu installieren,dass würde mir dann die Fehler in der Konsole farbig anzeigen so dass ich wunderbar die Fehler unterscheiden kann. Nun habe ich das acuh installiert aber irgendwie zeigt der mir noch immer das gleiche in schwarzer Schrift. Was mache ich falsch?Und gleich noch ne Frage, gibt es auch sowas für g++?

Gruß g4ul1x

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 04.07.2005 09:42:20

Aus der Man-Page zu colorgcc:
At your shell prompt, set your CC environment variable to 'colorgcc'. This may be done in several different ways, depending on what shell you use.

In a Bourne-compatible shell (bash, ash, zsh, pdksh), type:
export CC="colorgcc"

In a C shell variant (csh, tcsh), type:
setenv CC "colorgcc"

Refer to your shell's documentation for more information on setting environment variables.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 04.07.2005 18:10:11

Besser alias gcc=colorgcc setzen - dann funktionierts auch wenn du gcc direkt aufrufst.

CC-Umgebungsvariable funktioniert nur wenn du ein makefile oder so verwendest das die Variable auch ausliest - nicht aber beim Direktaufruf von gcc.

Gibts sowas auch für g++ und gcj? - Ah, scheint das geht doch irgendwie. Mal gucken. Symlinks helfen - wie im Script beschrieben :)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

g4ul1x
Beiträge: 97
Registriert: 03.05.2005 21:30:40

Beitrag von g4ul1x » 06.07.2005 10:02:51

Hmm,

kann mir das einer bitte mal ein bisle leichter erklären. Bin nämlich net so fit in Linux :(

Also das Paket ist installiert. Wo muss ich jetz hin was muss ich eingeben damit ich das mit g++ und gcc ausführen kann?

Wäre sehr net wenn mir einer das Schritt für Schritt erklären könnte..

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 06.07.2005 15:21:44

Mit g++ nicht, colorgcc unterstützt nur gcc.
Einfach anstatt

Code: Alles auswählen

gcc Datei.c [weitere optionen]
schreiben:

Code: Alles auswählen

colorgcc Datei.c [weitere optionen]

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 06.07.2005 18:15:36

Das stimmt jetzt nicht - wie oben wohl zu kurz geschrieben:

Symlink /usr/local/colorgcc/g++ -> colorgcc
Symlink /usr/local/colorgcc/gcc -> colorgcc

und das richtige wird (/usr/bin/g++ bzw. /usr/bin/gcc aufgerufen). Natürlich gucken dass /usr/local/colorgcc vor /usr/bin im PATH liegt... :)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 06.07.2005 18:19:36

peschmae hat geschrieben:Das stimmt jetzt nicht - wie oben wohl zu kurz geschrieben:

Symlink /usr/local/colorgcc/g++ -> colorgcc
Symlink /usr/local/colorgcc/gcc -> colorgcc
naja, schöner als im Verzeichnisbaum irgendwelche links um zu biegen wäre es, wenn man einfach in seine ~/.bashrc ein:
alias gcc=colorgcc
einträgt.
Wie bereits gesagt wurde, c++ funktioniert mit colorgcc nicht, den g++ mußt du also erst garnicht umleiten.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

g4ul1x
Beiträge: 97
Registriert: 03.05.2005 21:30:40

Beitrag von g4ul1x » 06.07.2005 19:27:17

hmm komisch hier wird doch aber auch g++ ausgeführt...


http://www.mindspring.com/~jamoyers/sof ... lorgcc.gif

oda sehe ich das was falsches?

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 06.07.2005 21:17:14

g4ul1x hat geschrieben:hmm komisch hier wird doch aber auch g++ ausgeführt...


http://www.mindspring.com/~jamoyers/sof ... lorgcc.gif

oda sehe ich das was falsches?
ja, sieht so aus. Dann ist nur die Frage wie man ihn aufrufen muß?
Ich habe es bisher noch nicht geschafft mit colorgcc C++ code zu kompilieren.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 07.07.2005 07:20:45

BeS hat geschrieben: naja, schöner als im Verzeichnisbaum irgendwelche links um zu biegen wäre es, wenn man einfach in seine ~/.bashrc ein:
alias gcc=colorgcc
einträgt.
Ack, wenn man das so machst wie du sagst dann funktioniert:
Wie bereits gesagt wurde, c++ funktioniert mit colorgcc nicht, den g++ mußt du also erst garnicht umleiten.
das mit g++ nicht. Aber wenn man mir zuhören würde dann würde das auch gehen :roll:
Nur durch wiederholen werden falsche Dinge auch nicht richtiger... :P

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

zippy
Beiträge: 150
Registriert: 21.04.2002 00:12:51
Wohnort: Berlin

Beitrag von zippy » 07.07.2005 08:08:45

BeS hat geschrieben: Wie bereits gesagt wurde, c++ funktioniert mit colorgcc nicht, den g++ mußt du also erst garnicht umleiten.
Braucht man eigentlich den g++ um C++ Code zu Compilieren?
Ich dachte gcc uebersetzt C und C++ !?

Benutzeravatar
vicbrother
Beiträge: 1016
Registriert: 23.12.2001 11:15:07
Wohnort: Hamburg

Beitrag von vicbrother » 07.07.2005 10:30:41

peschmae: Ich habe mir auch den colorgcc geinstet (Farben auf der Konsole finde ich toll :) ) und in der manpage steht doch alles drin:
CC=colorgcc setzen, dann /etc/colorgcc/colorgccrc bearbeiten. Da gibt es doch Pfadangaben zu g++ und gcc Welche Probleme seht ihr da? (Habe hier derzeit leider kein übersetzungswürdigen Source).
Debian GNU/Linux "unstable" + KDE4 @ Dell Precision M6400
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 07.07.2005 12:49:52

@peschmae: du biegst halt noch den g++ link um, man kann aber auch einfach für den g++ noch einen alias in der .bashrc setzen. Die .bashrc bleibt also der elegantere Weg :P ;)

Nochmal zum eigentlichen Problem. Also es ist ja mal egal wie und ob man irgendwelche links herstellt. Letztlich kann man auch einfach colorgcc aufrufen. Aber wie oder wann soll das jetzt mit C++ funktionieren? Wenn ich 'colorgcc hello.cc' aufrufe bekomme ich eine Reihe von Fehlermeldungen genauso wie wenn ich versuchen würde das Programm mit dem gcc zu kompilieren. Hat hier wirklich schonmal jemand C++ code mit colorgcc kompiliert und wenn ja wie?
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 07.07.2005 13:44:23

BeS hat geschrieben:@peschmae: du biegst halt noch den g++ link um, man kann aber auch einfach für den g++ noch einen alias in der .bashrc setzen. Die .bashrc bleibt also der elegantere Weg :P ;)
Ja, aber dann weiss colorgcc ja nicht dass er g++ aufrufen soll. Deshalb ruft er wie per default halt gcc auf.
Elegant aber trotzdem gradus id muur würde ein Kollege von mir jetzt sagen.
Nochmal zum eigentlichen Problem. Also es ist ja mal egal wie und ob man irgendwelche links herstellt. Letztlich kann man auch einfach colorgcc aufrufen. Aber wie oder wann soll das jetzt mit C++ funktionieren? Wenn ich 'colorgcc hello.cc' aufrufe bekomme ich eine Reihe von Fehlermeldungen genauso wie wenn ich versuchen würde das Programm mit dem gcc zu kompilieren. Hat hier wirklich schonmal jemand C++ code mit colorgcc kompiliert und wenn ja wie?
Du glaubst mir nicht, gell? Aber es geht immer noch so wie ichs oben geschrieben habe.
Steht auch so im Script selber:
# Usage:
#
# In a directory that occurs in your PATH _before_ the directory
# where the compiler lives, create a softlink to colorgcc for
# each compiler you want to colorize:
#
# g++ -> colorgcc
# gcc -> colorgcc
# cc -> colorgcc
# etc.
#
# That's it. When "g++" is invoked, colorgcc is run instead.
# colorgcc looks at the program name to figure out which compiler to run.
d.h. colorgcc wertet $0 aus um rauszufinden als was es aufgerufen wurde. Wenn ein Programm via einen Symlink aufgerufen wird steht in $0 nämlich nicht der eigentliche Programmname (colorgcc) sondern der Name des Symlinks - halt das was auf der Kommandozeile stand - also g++.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
vicbrother
Beiträge: 1016
Registriert: 23.12.2001 11:15:07
Wohnort: Hamburg

Beitrag von vicbrother » 07.07.2005 13:56:16

Warum gibt es den Link /usr/bin/gcc -> gcc-3.3 wenn auch gcc-3.4 geinstet ist?? Wird der nicht automatisch auf den neusten gesetzt?
Debian GNU/Linux "unstable" + KDE4 @ Dell Precision M6400
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 07.07.2005 14:55:10

OK, jetzt gehts. :)
Ich sehe auch erst jetzt, dass du für die links ein extra Verzeichnis angelegt hast. Am Anfang dachte ich, dass du die links in /bin umbiegst.

Also ich habe es jetzt mit gcc, g++ und gcj versucht, funktioniert alles.
Ada wollte ich auch testen, aber da kennt colorgcc nur den Befehl gnat, ich übersetze Ada Programme aber immer mit gnatmake, weiß garnicht wie das mit gnat gehen soll...

Mal schauen, vielleicht lege ich mal selber etwas Hand an das script an ;)

EDIT: Habe jetzt einfach im script gnat durch gnatmake ersetzt und jetzt geht es auch mit Ada :)
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 07.07.2005 19:05:56

Puh, ich hatte schon gedacht ich rede mit einer Mauer :lol:

Ada? Was kann Ada? Benutzt das jemand wirklich?

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 07.07.2005 19:59:18

Hallo,
Ada95 ist imho eine sehr schöne Programmiersprache. Ich muß aber sagen, dass ich sie seit den ersten 2 Semestern meines Studiums auch so gut wie nicht mehr verwendt habe. Ada95 ist sehr gut lesbar, weshalb sie auch gut für Einsteiger geeignet ist. Ein Prof. hat sogar mal gesagt (ich hoffe ich bekomme es richtig zusammen), dass es Untersuchungen gibt nachdenen bei allen Programmiersprachen die Lesbarkeit expotentiell sinkt in der Abhängigkeit von der größe des Programms, nur bei Ada95 soll es linear sein. Es gibt zwar keine wirkliche Erklärung dafür aber es soll nach mehreren Untersuchungen so sein.

Ansonsten wird Ada95 vorallem in der Industrie sehr oft eingesetzt. Daimler-Chrysler arbeitet afaik z.B. viel mit Ada95 und die US Air Force hat vor einigen Jahren sogar die Entwicklung des GNU Ada95 Compiler finanziert. Vorallem auch in Sicherheitskritischen Bereichen, also wo man sich darauf verlassen muß dass das Programm fehlerfrei funktioniert, soll Ada95 sehr beliebt sein (z.B. auch NASA, ESA usw.)
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 07.07.2005 20:19:07

Danke für die Zusammenfassung :)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

g4ul1x
Beiträge: 97
Registriert: 03.05.2005 21:30:40

Beitrag von g4ul1x » 08.07.2005 13:12:31

Kann mir das jemand jetzt auch für normal sterbliche erklären?

Was genau zu machen ist? Bin noch immer da wo ich vorher war :lol:

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 08.07.2005 13:25:07

Hallo,
dann will ich jetzt mal mein neu erworbenes Wissen zur Schau stellen, ansonsten kann peschmae mich ja korrigieren ;)

- du legst dir ein Verzeichnis an, z.B. /usr/local/colorgcc
- dort erstellst du symlinks zu colorgcc für alle Kompiler die du mit colorgcc verwenden willst, also für g++ z.B. ln -s /usr/bin/g++ g++ (du mußt natürlich im Verzeichnis /usr/local/colorgcc sein).
- jetzt mußt du /usr/local/colorgcc noch in deine PATH hängen, dass kannst du so machen: PATH=/usr/local/colorgcc:"${PATH}"
Am besten du trägst dir das in deine ~/.bashrc ein, damit der Pfad in Zukunft automatisch angehängt wird.
- jetzt sollte es mit dem g++ funktionieren.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

g4ul1x
Beiträge: 97
Registriert: 03.05.2005 21:30:40

Beitrag von g4ul1x » 08.07.2005 13:40:20

Hi,

erstmal vielen Dank aber der zeigt mir nichts in Farbe an :(

Habs genau so gemacht wie du es beschrieben hast

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 08.07.2005 13:59:29

BeS hat geschrieben:Hallo,
dann will ich jetzt mal mein neu erworbenes Wissen zur Schau stellen, ansonsten kann peschmae mich ja korrigieren ;)
Machen wir doch gerne ;-)

Kleiner Vertippser:
- dort erstellst du symlinks zu colorgcc für alle Kompiler die du mit colorgcc verwenden willst, also für g++ z.B. ln -s /usr/bin/g++ g++ (du mußt natürlich im Verzeichnis /usr/local/colorgcc sein).
nicht ln -s /usr/bin/g++ g++
sondern ln -s /usr/bin/colorgcc g++

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

g4ul1x
Beiträge: 97
Registriert: 03.05.2005 21:30:40

Beitrag von g4ul1x » 08.07.2005 14:06:27

Aaah jetzt macht er es nur noch mal ne Frage wegen dem Eintrag bashrc. Ich hab die mal mit vim aufgerufen wo muss der eintrag den genau hin? Steht soviel.. :)

Benutzeravatar
vicbrother
Beiträge: 1016
Registriert: 23.12.2001 11:15:07
Wohnort: Hamburg

Beitrag von vicbrother » 08.07.2005 14:35:50

Da stelle ich jetzt auchnochmal ne Frage:
auf was zeigt colorgcc nun? Auf den aktuellsten gcc oder irgendeinen der installiert ist? Bei mir sind gcc-3.3,-3.4 und -4.0 drauf, eine Umgebungsvariable CC enthielt gcc-3.4, /usr/bin/gcc zeigt aber auf gcc-3.3. Das ist doch etwas chaotisch oder?
Debian GNU/Linux "unstable" + KDE4 @ Dell Precision M6400
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -

Antworten