Superuser

Autor Thema: tcltk mit dem gcc  (Gelesen 9698 mal)

wiel

  • Gast
tcltk mit dem gcc
« am: 30. Juni 2003, 15:15:33 »
Hallo Alle miteinader,

ich habe folgendes Problem auf einer Indy R5000, Irix6.5.19 Standartinstallation, gcc-3.2.2 GNU Compiler Suite von SGI-Freeware installiert,  und als einzige Aenderung folgende Zeilen in die /etc/profile bzw /etc/cshrc aufgenommen:

 /etc/profile
 PATH=/usr/freeware/bin:/usr/local/bin:$PATH
 export PATH MANPATH

 /etc/cshrc
 setenv PATH /usr/freeware/bin:${PATH}


Beim Versuch TCL zu uebersetzen bekomme ich nun folgendes zu sehen:
-bash-2.05b$ cd inst/tcl8.4.3/unix/
-bash-2.05b$ ./configure
creating cache ./config.cache
checking whether to use symlinks for manpages... no
checking compression for manpages... no
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.
-bash-2.05b$ echo $PATH
/usr/freeware/bin:/usr/local/bin:/usr/freeware/bin:/usr/local/bin:/usr/sbin:/usr/bsd:/sbin:/usr/bin:/usr/bin/X11:
-bash-2.05b$ which gcc
/usr/freeware/bin/gcc


Der gcc ist also da und wird auch gefunden wie der which-Befehl zeigt.  Allerdings  habe ich keine Ahnung, wie ich ihn zur Arbeit ueberreden kann.

mood-indigo.org - Das unabhängige Silicon Graphics User Forum

tcltk mit dem gcc
« am: 30. Juni 2003, 15:15:33 »

Jasper

  • Gast
Re: tcltk mit dem gcc
« Antwort #1 am: 30. Juni 2003, 15:17:35 »
Hi,

was steht denn in der config.log Datei in der Gegend, wo die Fehlermeldung kommt?

wiel

  • Gast
Re: tcltk mit dem gcc
« Antwort #2 am: 30. Juni 2003, 15:25:59 »
-bash-2.05b$ cat config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:575: checking whether to use symlinks for manpages
configure:587: checking compression for manpages
configure:615: checking for gcc
configure:728: checking whether the C compiler (gcc  ) works
configure:744: gcc -o conftest    conftest.c  1>&5
Fatal error: Arg list too long
configure: failed program was:

#line 739 "configure"
#include "confdefs.h"

main(){return(0);}
-bash-2.05b$


und in der benannten zeile des configure-skripts steht von Zeile 735 an:

cat > conftest.$ac_ext << EOF

#line 739 "configure"
#include "confdefs.h"

main(){return(0);}
EOF
if { (eval echo configure:744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
 ac_cv_prog_cc_works=yes
 # If we can't run a trivial program, we are probably using a cross compiler.
 if (./conftest; exit) 2>/dev/null; then
   ac_cv_prog_cc_cross=no
 else
   ac_cv_prog_cc_cross=yes
 fi
else
 echo "configure: failed program was:" >&5

Jasper

  • Gast
Re: tcltk mit dem gcc
« Antwort #3 am: 30. Juni 2003, 15:42:39 »
Strange. Für mich sehen sowohl Compileraufruf wie auch Testprogramm einwandfrei aus. Tut der GCC denn sonst überhaupt? Erstell doch mal eine einzelne Datei mit Inhalt

main(){return(0);}

und nudel die mit gcc -v -o testdatei testdatei.c durch den Compiler. Das sollte Dir Aufschluss drüber geben, was wann wo vom GCC aufgerufen und vielleicht nicht gefunden wird (Vielleicht fehlender as oder cpp???). Ich hab's gerade ausprobiert, läuft bei mir fein (Indy mit R4k, GCC 3.2.2, Irix 6.5.19).

wiel

  • Gast
Re: tcltk mit dem gcc
« Antwort #4 am: 30. Juni 2003, 16:27:11 »
Ich habe mich ja vor dem Programmieren bis jetzt erfolgreich ferngehalten.
Also  eine Datei test angelegt (mit dem main Aufruf)

-bash-2.05b$ gcc -v -o test test.c
Fatal error: Arg list too long
-bash-2.05b$

Jasper

  • Gast
Re: tcltk mit dem gcc
« Antwort #5 am: 30. Juni 2003, 17:25:45 »
Für mich sieht das so aus, als ob was bei der Compiler-Installation beschädigt wäre. Die Kommandozeile für den gcc ist eigtl. nicht zu lang, und spezielle Libraries braucht das Ding eigentlich auch nicht. Es tauchen zwischendrin beim Compilieren allerdings schon recht lange Aufrufe auf, die hätte man eben mit dem -v Flag sehen können. Tut denn wenigstens "gcc -v" (ohne weitere Optionen)? Ansonsten gib mal
"systune ncargs" ein, vielleicht ist die Länge der Kommandozeile bei Dir ja (warum auch immer) stark beschränkt.

Nachtrag: Hier ist ein Blurb aus dem Usenet, der auch dazu passt:
http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&threadm=9ii2fa%24sed%241%40news.netmar.com&rnum=5&prev=/groups%3Fhl%3Dde%26lr%3D%26ie%3DISO-8859-1%26q%3Dgcc%2Barg%2Blist%2Btoo%2Blong
Vielleicht machst Du das mit dem Path auch mal rückgängig und rufst den Compiler explizit mit /usr/freeware/bin/gcc auf?
« Letzte Änderung: 30. Juni 2003, 17:28:18 von Jasper »

wiel

  • Gast
Re: tcltk mit dem gcc
« Antwort #6 am: 30. Juni 2003, 17:32:51 »
Danke erstmal fuer die Hilfe, ich habe meinen Pfad des Wissens laengst verlassen und kann nur noch nachtippen.

-bash-2.05b$ cat test
main(){return(0);}
-bash-2.05b$ gcc -v test test.c
Fatal error: Arg list too long
-bash-2.05b$ systune ncargs
       ncargs = 20480 (0x5000)
-bash-2.05b$


Wieland

Jasper

  • Gast
Re: tcltk mit dem gcc
« Antwort #7 am: 30. Juni 2003, 17:45:08 »
Systune sieht gut aus, denke ich. Kannst Du mal nur gcc -v (ohne -o test test.c) ausführen? Auch mal ohne PATH in der /etc/profile erweitert? Dein C-Programm ist eigentlich einwandfrei, der Fehler kommt auch nicht vom compilieren.

wiel

  • Gast
Re: tcltk mit dem gcc
« Antwort #8 am: 30. Juni 2003, 17:58:59 »
-bash-2.05b$ /usr/freeware/bin/gcc -v test test.c
gcc ERROR:  gcc is not installed in /usr/freeware/bin/../../usr/lib32/cmplrs/gcc

-bash-2.05b$
-bash-2.05b$ ls -l /usr/freeware/bin/ | grep gcc
lrwxr-xr-x    1 root     sys             3 Apr  22 13:29 egcs -> gcc
-rwxr-xr-x    4 root     sys         98676 Mai  15 14:00 gcc
-rwxr-xr-x    1 root     sys         15613 Apr  22 13:29 gccbug
lrwxr-xr-x    1 root     sys             3 Apr  22 13:29 mips-sgi-irix6.5-gcc -> gcc
-bash-2.05b$ ls -l /usr/lib32/cmplrs/ | grep gcc
-rwxr-xr-x    4 root     sys         98676 Mai  15 14:00 gcc
-bash-2.05b$

Der zweite Tipp scheint ein Treffer zu sein. Ich werde wohl die gcc Pakete im Softwaremanager loeschen und komplett neu installieren.  Ich glaube, das waren fast 80 MB, schauen wir mal wie schnell der SGI-FTP-Server heute ist.

Wenn ich den Pfad uebrigens rausnehme, findet er den MIPS cc und muellt den Bildschirm mit Lizenzgesabber voll. Bringt mich also auch nicht unbedingt weiter

wiel

  • Gast
Re: tcltk mit dem gcc
« Antwort #9 am: 30. Juni 2003, 18:01:04 »
noch als Nachtrag

-bash-2.05b$ gcc -v
Fatal error: Arg list too long
-bash-2.05b$


Jasper

  • Gast
Re: tcltk mit dem gcc
« Antwort #10 am: 30. Juni 2003, 18:08:55 »
Hmpf, in /usr/lib32/cmplrs/ sollte der gcc überhaupt nicht auftauchen. Vielleicht reicht es, wenn Du ihn dort einfach löscht. (Bevor Du das ganze Paket nochmal runterlädst) Hast Du das selbst installiert, oder war der schon vorher drauf? Mein gcc sucht übrigens in folgenden Verzeichnissen:

cc1, cpp, collect2 in /usr/freeware/lib/gcc-lib/mips-sgi-irix6.5/3.2.2/
as, asm (nicht gcc!) in /usr/bin und /usr/lib32/cmplrs/ - würde ich auf jeden Fall schauen, dass die auch da sind!


wiel

  • Gast
Re: tcltk mit dem gcc
« Antwort #11 am: 30. Juni 2003, 18:31:54 »
Ich weisz zwar nicht wieso, ich bekomme jetzt bei auskommentierten Pfadangaben folgendes zu sehen:

-bash-2.05b$ echo $PATH
/usr/sbin:/usr/bsd:/sbin:/usr/bin:/usr/bin/X11:
-bash-2.05b$ cd inst/tcl8.4.3/unix/
-bash-2.05b$ ./configure
loading cache ./config.cache
checking whether to use symlinks for manpages... no
checking compression for manpages... no
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.
-bash-2.05b$ gcc -v
Fatal error: Arg list too long

Ansonsten fehlt  einmal der asm  und statt cpp habe ich einmal cpp0 nach Deiner Liste
-bash-2.05b$ ls /usr/bin/ | grep as
as
asa
assign
basename
icrash
passwd
paste
thrash
ypchpass
yppasswd
-bash-2.05b$ ls /usr/lib32/cmplrs/ | grep as
as
asm

-bash-2.05b$ ls /usr/freeware/lib/gcc-lib/mips-sgi-irix6.5/3.2.2/ | grep cc1
cc1
cc1obj
cc1plus
-bash-2.05b$ ls /usr/freeware/lib/gcc-lib/mips-sgi-irix6.5/3.2.2/ | grep cpp
cpp0
tradcpp0
-bash-2.05b$ ls /usr/freeware/lib/gcc-lib/mips-sgi-irix6.5/3.2.2/ | grep coll
collect2


Sollte da ein einfaches Rueberkopieren reichen?

Jasper

  • Gast
Re: tcltk mit dem gcc
« Antwort #12 am: 30. Juni 2003, 18:40:01 »
Sorry, nein, muss cpp0 sein, cpp gibt's in /usr/freeware/bin, asm nur in /usr/lib32..., das ist also alles OK. Der Fehler mit auskommentierter Pfadangabe liegt wohl daran, dass der GCC in /usr/lib32/cmplrs und womöglich noch woanders gefunden wird, das darf aber nicht sein (es hätte jetzt m.E. irgendetwas wie gcc not found bzw. der vergebliche Versuch, den MipsPro zu verwenden, kommen müssen). Ich blicke da leider auchnie ganz durch, wo SGI die ganzen Development-Komponenten verteilt.

Wie sieht dein Pfad denn jetzt aus, ist da immer noch /usr7Freeware/bin mit drin (wundert mich, dass das ganz zu Anfang zweimal drin war...)

wiel

  • Gast
Re: tcltk mit dem gcc
« Antwort #13 am: 30. Juni 2003, 18:58:21 »
Der letzte Shellmitschnitt entstammt dem Versuch mit auskommentierten Pfadangaben.

Den gcc in /usr/lib32/  habe ich wieder geloescht , glaube den hatte ich selber dorthinkopiert, aufgrund irgendeines Postings in einer anderen Newsgroup.  Andere Veraenderungen im System hatte ich aber nicht vorgenommen.

Bei den Pfadangaben habe mich nach Obsolet... gerichtet, ich glaube die Macher sitzen hier auch irgendwo im Forum, besten Dank dann auch, falls Ihr es lest - ist fuer Einsteiger bei IRIX ein gute Seite.  Ist halt fuer beide Shells, obwohl man heute mit der BASH arbeitet,wenn man sie hat.

Jasper

  • Gast
Re: tcltk mit dem gcc
« Antwort #14 am: 30. Juni 2003, 19:07:40 »
Hi, ich denke, dass /usr/freeware/bin noch woanders in deinen Pfad gesetzt wird (weil in deinem ersten Posting
PATH=/usr/freeware/bin:/usr/local/bin:/usr/freeware/bin:/usr/local/bin:/usr/sbin:/usr/bsd:/sbin:/usr/bin:/usr/bin/X11:
aber in /etc/profile nur PATH=/usr/freeware/bin:/usr/local/bin:$PATH
Setz mal explizit
export PATH=/usr/sbin:/usr/bsd:/sbin:/usr/bin:/usr/bin/X11 (sollte die Standard-Einstellungen wieder bringen)
und probier dann nochmal gcc -v. Wenn's dann nicht gefunden wird, mach mal /usr/freeware/bin/gcc -v.

Achso, zwischen zwei configure-Aufrufen löscht Du besser die Datei config.cache. Obsolet ist gut, das ist wahr :-)
« Letzte Änderung: 30. Juni 2003, 19:08:06 von Jasper »