Während einer bash-Sitzung eine andere gcc-Version verwenden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
thyslo
Beiträge: 6
Registriert: 03.08.2016 11:10:46

Während einer bash-Sitzung eine andere gcc-Version verwenden

Beitrag von thyslo » 31.01.2017 12:49:33

Hallo zusammen,
auf meinem Rechner läuft Debian Stretch, gcc 6.3.0 ist da der Standard-Compiler. Für ein altes Projekt brauche ich aber z.B. gcc 4.6.

In meinem /usr/bin - Verzeichnes gibt es den Compiler auch noch:

Code: Alles auswählen

~> ls -l /usr/bin/gcc*
lrwxrwxrwx 1 root root      5 Nov 18 14:33 /usr/bin/gcc -> gcc-6
-rwxr-xr-x 1 root root 306436 Nov 27  2012 /usr/bin/gcc-4.6
-rwxr-xr-x 1 root root 715448 Dez 21  2014 /usr/bin/gcc-4.8
-rwxr-xr-x 1 root root 805704 Dez 27  2014 /usr/bin/gcc-4.9
lrwxrwxrwx 1 root root     20 Jan 24 14:48 /usr/bin/gcc-6 -> i686-linux-gnu-gcc-6
lrwxrwxrwx 1 root root      8 Nov 18 14:33 /usr/bin/gcc-ar -> gcc-ar-6
-rwxr-xr-x 1 root root  21628 Dez 21  2014 /usr/bin/gcc-ar-4.8
-rwxr-xr-x 1 root root  23276 Dez 27  2014 /usr/bin/gcc-ar-4.9
lrwxrwxrwx 1 root root     23 Jan 24 14:48 /usr/bin/gcc-ar-6 -> i686-linux-gnu-gcc-ar-6
lrwxrwxrwx 1 root root      8 Nov 18 14:33 /usr/bin/gcc-nm -> gcc-nm-6
-rwxr-xr-x 1 root root  21596 Dez 21  2014 /usr/bin/gcc-nm-4.8
-rwxr-xr-x 1 root root  23212 Dez 27  2014 /usr/bin/gcc-nm-4.9
lrwxrwxrwx 1 root root     23 Jan 24 14:48 /usr/bin/gcc-nm-6 -> i686-linux-gnu-gcc-nm-6
lrwxrwxrwx 1 root root     12 Nov 18 14:33 /usr/bin/gcc-ranlib -> gcc-ranlib-6
-rwxr-xr-x 1 root root  21596 Dez 21  2014 /usr/bin/gcc-ranlib-4.8
-rwxr-xr-x 1 root root  23212 Dez 27  2014 /usr/bin/gcc-ranlib-4.9
lrwxrwxrwx 1 root root     27 Jan 24 14:48 /usr/bin/gcc-ranlib-6 -> i686-linux-gnu-gcc-ranlib-6
Ich versuche gerade ein Script zu schreiben, dass für die nächste bash-Sitzung die Umgebung so ändert, dass gcc 4.6 verwendet wird:

Code: Alles auswählen

export CC=/usr/bin/gcc-4.6/
export CXX=/usr/bin/gcc-4.6/
echo gcc4.6 - Umgebung gestartet.
bash
Leider funktioniert es nicht:

Code: Alles auswählen

~> gcc --version
gcc (Debian 6.3.0-5) 6.3.0 20170124
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Weiß jemand, wie ich das Script ändern muss, damit es funktioniert?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Während einer bash-Sitzung eine andere gcc-Version verwe

Beitrag von rendegast » 31.01.2017 13:38:13

export CC=/usr/bin/gcc-4.6/
Der abschließende Slash muß entfernt werden!

Code: Alles auswählen

export CC=/usr/bin/gcc-4.6
<->
Leider funktioniert es nicht:

Code: Alles auswählen
~> gcc --version
/usr/bin/gcc ist ein von dieser Variable unabhängiger Link.
Versuche es mal mit

Code: Alles auswählen

$CC --version
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
towo
Beiträge: 4403
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Während einer bash-Sitzung eine andere gcc-Version verwe

Beitrag von towo » 31.01.2017 13:54:15

Und

Code: Alles auswählen

export CXX=/usr/bin/gcc-4.6/
is auch falsch!

Code: Alles auswählen

export CXX=/usr/bin/g++-4.6
So wird ein Schuh draus.
Den Rest hat rendegast ja schon ausgeführt.

thyslo
Beiträge: 6
Registriert: 03.08.2016 11:10:46

Re: Während einer bash-Sitzung eine andere gcc-Version verwe

Beitrag von thyslo » 31.01.2017 15:28:39

Danke, das bringt mich einen Schritt weiter.

Aber ist es irgendwie möglich, dass nach Ausführen des Scripts der gcc4.6 automatisch genommen wird, wenn ich nur 'gcc' eingebe?

Mir fällt dazu nur ein, den Link
/usr/bin//usr/bin/gcc -> gcc-6
zu ändern in
/usr/bin//usr/bin/gcc -> gcc-4.6

Aber vielleicht geht es ja noch besser und weniger hart. ich brauche es nur in der bash-Sitzung, die ich mit dem Script-Aufruf öffne.

Benutzeravatar
CH777
Beiträge: 1464
Registriert: 27.05.2008 16:37:17

Re: Während einer bash-Sitzung eine andere gcc-Version verwe

Beitrag von CH777 » 01.02.2017 11:05:41

Code: Alles auswählen

alias gcc='gcc-4.6'

thyslo
Beiträge: 6
Registriert: 03.08.2016 11:10:46

Re: Während einer bash-Sitzung eine andere gcc-Version verwe

Beitrag von thyslo » 03.02.2017 14:33:01

CH777 hat geschrieben:

Code: Alles auswählen

alias gcc='gcc-4.6'
So funktioniert es, danke!

Antworten