Hallo, ich habe in der aktuellen C't und in der IX gelsen das der Intel Kompiler icc auch unter 7.3 läuft nur ich bekomme ihn nicht zum laufen. Er versuch jedesmal die include Files von /usr/include zu benutzen und kann dann die Abhängigkeiten nicht auflösen. Das selbe passiert mir auch unter RedHat 7.1 obwohl der Kompiler dafür vorgesehen ist. Das Shell skript was bei liegt läuft zwar duch nur wenn ich mit echo $PATH die Variable abfrage stehen die Pfade nicht drin. Wie kann ich dem Kompiler die include mitteilen. -L/usr/... funktioniert nicht. Die shared Librarie habe ich in die /etc/ld.so.conf eingetragen. Hat jemand ev. positive Nachrichten für mich !! Jochen
Hallo Jochen, Jochen Wargulski wrote:
Hallo,
ich habe in der aktuellen C't und in der IX gelsen das der Intel Kompiler icc auch unter 7.3 läuft nur ich bekomme ihn nicht zum laufen. Er versuch jedesmal die include Files von /usr/include zu benutzen und
... und das soll er nicht? Ist doch eigentlich der Standard für CCs!
kann dann die Abhängigkeiten nicht auflösen. Das selbe passiert mir auch unter RedHat 7.1 obwohl der Kompiler dafür vorgesehen ist. Das Shell skript was bei liegt läuft zwar duch nur wenn ich mit echo $PATH die Variable abfrage stehen die Pfade nicht drin.
Wie meinst Du das? Wenn das Shellscript durchgelaufen ist, sind natürlich die *lokalen* Environment-Variablen vergessen. Du müßtest schon eine entsprechende Ausgabe (z. B. "printenv") in das icc-Script hineinschreiben, um die Werte lokaler Variablen zu erfahren.
Wie kann ich dem Kompiler die include mitteilen. -L/usr/... funktioniert nicht.
Hab den icc selbst nicht im Einsatz. Aber wenn du den Pfad für die .h-Dateien meinst (#include, Präprozesssor-Stuff), dessen Präfix wird bei allen mir bekannten C-Compilern mit den Option -I eingeleitet. Die Option -L dient zur Angabe der Bibliotheks-Pfades (Linker Input).
Die shared Librarie habe ich in die /etc/ld.so.conf eingetragen.
Steht denn in Deiner icc-Doku nichts darüber drin? (schwer zu glauben) Hth, Norbert
Norbert Kordts schrieb:
Hallo Jochen,
Jochen Wargulski wrote:
Hallo,
ich habe in der aktuellen C't und in der IX gelsen das der Intel Kompiler icc auch unter 7.3 läuft nur ich bekomme ihn nicht zum laufen. Er versuch jedesmal die include Files von /usr/include zu benutzen und
... und das soll er nicht? Ist doch eigentlich der Standard für CCs!
kann dann die Abhängigkeiten nicht auflösen. Das selbe passiert mir auch unter RedHat 7.1 obwohl der Kompiler dafür vorgesehen ist. Das Shell skript was bei liegt läuft zwar duch nur wenn ich mit echo $PATH die Variable abfrage stehen die Pfade nicht drin.
Wie meinst Du das? Wenn das Shellscript durchgelaufen ist, sind natürlich die *lokalen* Environment-Variablen vergessen. Du müßtest schon eine entsprechende Ausgabe (z. B. "printenv") in das icc-Script hineinschreiben, um die Werte lokaler Variablen zu erfahren.
Ich habe am Ende ein echo "Finsh" eingebaut und gehe davon aus, dass es funktioniert hat wenn das echo Kommando auftaucht.
Wie kann ich dem Kompiler die include mitteilen. -L/usr/... funktioniert nicht.
Hab den icc selbst nicht im Einsatz. Aber wenn du den Pfad für die .h-Dateien meinst (#include, Präprozesssor-Stuff), dessen Präfix wird bei allen mir bekannten C-Compilern mit den Option -I eingeleitet. Die Option -L dient zur Angabe der Bibliotheks-Pfades (Linker Input).
Die shared Librarie habe ich in die /etc/ld.so.conf eingetragen.
Steht denn in Deiner icc-Doku nichts darüber drin? (schwer zu glauben)
Hth, Norbert
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Jochen Wargulski wrote:
ich habe in der aktuellen C't und in der IX gelsen das der Intel Kompiler icc auch unter 7.3 läuft nur ich bekomme ihn nicht zum laufen. Er versuch jedesmal die include Files von /usr/include zu benutzen und kann dann die Abhängigkeiten nicht auflösen. Das selbe passiert mir auch unter RedHat 7.1 obwohl der Kompiler dafür vorgesehen ist. Das Shell skript was bei liegt läuft zwar duch nur wenn ich mit echo $PATH die Variable abfrage stehen die Pfade nicht drin.
Na, dann hast Du da was falsch gemacht. Setze doch die Variablen IA32ROOT, PATH, LD_LIBRARY_PATH und INTEL_FLEXLM_LICENSE einfach in /etc/profile.local. Falls Du das Shell-Skript benutzen moechtest, dann musst Du schon genauer beschreiben, was Du getan hast, ansonsten kann man nur raten, wo der Fehler liegt.
Wie kann ich dem Kompiler die include mitteilen. -L/usr/... funktioniert nicht.
-L ist die Option, um einen Pfad fuer den Linker anzugeben, das kann nicht funktionieren. Zusaetzliche Verzeichnisse, die nach Header-Dateien durchsucht werden sollen, werden mit der Option -I dem Preprocessor bekanntgegeben. Du solltest Dir mal die mitgelieferte Dokumentation, insbesondere die Datei c_ug_lnx.pdf zu Gemuete fuehren, da stehen ab Seite 15 die gesamten Optionen erklaert. CU, Th. -- Thomas Hertweck, Geophysicist Geophysical Institute, University of Karlsruhe
Jochen Wargulski schrieb am 04.11.2001 um 17:22:26 +0100: Hallo Jochen,
ich habe in der aktuellen C't und in der IX gelsen das der Intel Kompiler icc auch unter 7.3 läuft nur ich bekomme ihn nicht zum laufen. Er versuch jedesmal die include Files von /usr/include zu benutzen und kann dann die Abhängigkeiten nicht auflösen. Das selbe passiert mir auch unter RedHat 7.1 obwohl der Kompiler dafür vorgesehen ist. Das Shell skript was bei liegt läuft zwar duch nur wenn ich mit echo $PATH die Variable abfrage stehen die Pfade nicht drin.
wie aufgerufen? Du meinst doch iccvars.sh, oder? Einfach aufrufen sollte auch nicht gehen. Mach das mal mit ". iccvars.sh" Solltest Du die iccvars für die csh/tcsh benutzen, da ist ein Fehler beim letzten setenv. Daist ein "=" zu viel. Bis denne, Michael -- ---------------------------------------------------------- Michael Schulz, Institut f. Geophysik, Universität Münster Corrensstr. 24, 48149 Münster Tel.: 0251-8333938, e-mail: michael@earth.uni-muenster.de
Michael Schulz schrieb:
Jochen Wargulski schrieb am 04.11.2001 um 17:22:26 +0100:
Hallo Jochen,
ich habe in der aktuellen C't und in der IX gelsen das der Intel Kompiler icc auch unter 7.3 läuft nur ich bekomme ihn nicht zum laufen. Er versuch jedesmal die include Files von /usr/include zu benutzen und kann dann die Abhängigkeiten nicht auflösen. Das selbe passiert mir auch unter RedHat 7.1 obwohl der Kompiler dafür vorgesehen ist. Das Shell skript was bei liegt läuft zwar duch nur wenn ich mit echo $PATH die Variable abfrage stehen die Pfade nicht drin.
wie aufgerufen? Du meinst doch iccvars.sh, oder? Einfach aufrufen sollte auch nicht gehen. Mach das mal mit ". iccvars.sh" Solltest Du die iccvars für die csh/tcsh benutzen, da ist ein Fehler beim letzten setenv. Daist ein "=" zu viel. Bis denne,
Ich habe das Shell Skript ganz normal mit ./iccvars.sh aufgerufen nur die Varibalen hat er mir nicht gesetzt. Mitlerweile habe ich mir mein eingenes Skript geschrieben, so dass er die Pfade für den icc einbindet und alle anderen weglässt, dann Kompiliert er mir auch hallo.c und hallo.cpp ohne Probleme. Hat denn schon jemand Erfahrungen mit dem Kompiler, denn Kernle kompilieren ist noch nicht dring GTK/QT auch nicht, wie sieht es denn mit Sockets bzw mit Syscalls aus? Danke Jochen
Michael
-- ---------------------------------------------------------- Michael Schulz, Institut f. Geophysik, Universität Münster Corrensstr. 24, 48149 Münster Tel.: 0251-8333938, e-mail: michael@earth.uni-muenster.de
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
* Jochen Wargulski [Mon, 05 Nov 2001 14:48:15 +0100]:
Ich habe das Shell Skript ganz normal mit ./iccvars.sh aufgerufen nur die Varibalen hat er mir nicht gesetzt.
Wie soll das auch funktionieren? Für das Abarbeiten des Skripts wird eine neue Shell gestartet und in dieser dann die Variablen gesetzt. Nach dem Ende des Skripts beendet sich auch die Shell und schon sind alle gesetzten Variablen futsch. Daher *muss* ein solches Skript von der laufenden Shell abgearbeitet werden, damit auch die Variablen in der aktuellen Umgebung gesetzt sind. Dieses erreicht man wie schon geschrieben durch '. ./iccvars.sh' oder eben indem man den Inhalt von iccvars.sh in /etc/profile.local kopiert. Philipp -- Nothing would please me more than being able to hire ten programmers and deluge the hobby market with good software. -- Bill Gates, 1976
participants (5)
-
Michael Schulz
-
Norbert Kordts
-
NWargulski@t-online.de
-
philippt@t-online.de
-
Thomas Hertweck