ubuntuusers.de

Problem mit ifort

Status: Gelöst | Ubuntu-Version: Ubuntu
Antworten |

Lina

Anmeldungsdatum:
12. Januar 2007

Beiträge: Zähle...

Hallo!

Ich habe ein Problem mit dem Compiler ifort.

In der Uni programmieren wir mit Fortran und dem Intel Fortran Compiler. Diesen wollte ich nun auch zu Hause auf meinem PC unter Ubuntu installieren und bin der Anweisung dieser Seite (Ifort) gefolgt. Ich denke, es hat alles funktionert. Zumindest habe ich Schritt für Schritt abgearbeitet und die beiden deb-Pakete für Compiler und Debugger erstellt (sind im ifort Verzeichnis, siehe Ifort). Danach beide durch doppelklicken installiert. Habe allerdings keine Ahnung wohin.

Wenn ich nun ein kleines Testprogramm kompilieren (ifort test.f90) möchte, das sich im ifort-Verzeichnis befindet, kommt diese Fehlermeldung: export: 37: Illegal option -n

Spielt es eine Rolle, wo die Programme gespeichert sind, die ich übersetzten will?

Kann mir jemand helfen? 😕

VIELEN DANK

haraldkl

Avatar von haraldkl

Anmeldungsdatum:
21. Juli 2005

Beiträge: 1903

Wohnort: Würselen

Hallo,
das hört sich so an, als würde im ifort-Skript was nicht so ganz stimmen. Hast du vielleicht einen Copy&Paste Fehler oder einen Fehler beim Abtippen der sed Skripte gemacht?
Du könntest uns den Inhalt des ifort-Skriptes hier posten

cat $(which ifort)


oder nochmal genau überprüfen, ob dir beim kopieren der Schritte aus dem Wiki kein Fehler unterlaufen ist.
Wenn du den 9.1 verwendest musst du natürlich auch überall die Versionsnummern entsprechend ändern.

Wenn du die Anleitung im Wiki genauso gemacht hast, wird der Compiler nach /usr/local installiert. Das Executable landet also in /usr/local/bin.

Und es spielt keine Rolle, wo der Code, den du kompilieren willst auf deinem System liegt.

Lina

(Themenstarter)

Anmeldungsdatum:
12. Januar 2007

Beiträge: 7

Hier das Skript...

#!/bin/sh
export LC_ALL=C

if [ -z "${INTEL_LICENSE_FILE}" ]
then
 INTEL_LICENSE_FILE="/usr/local/share/doc/fc/9.1.036/licenses:/opt/intel/licenses:${HOME}/intel/licenses:/Users/Shared/Library/Application Support/Intel/licenses";
else
 INTEL_LICENSE_FILE="${INTEL_LICENSE_FILE}:/usr/local/share/doc/fc/9.1.036/licenses:/opt/intel/licenses:${HOME}/intel/licenses:/Users/Shared/Library/Application Support/Intel/licenses";
fi
export INTEL_LICENSE_FILE;

if [ -z "${LD_LIBRARY_PATH}" ]
then 
 LD_LIBRARY_PATH="/usr/local/lib";
else
 LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}";
fi
export LD_LIBRARY_PATH;

# DYLD_LIBRARY_PATH is used on MAC OS
if [ -z "${DYLD_LIBRARY_PATH}" ]
then 
 DYLD_LIBRARY_PATH="/usr/local/lib";
else
 DYLD_LIBRARY_PATH="/usr/local/lib:${DYLD_LIBRARY_PATH}";
fi
export DYLD_LIBRARY_PATH;

if [ -z "${PATH}" ]
then
 PATH="/usr/local/bin";
else
 PATH="/usr/local/bin:${PATH}";
fi
export PATH;

export -n IA32ROOT; unset IA32ROOT;

if [ $# != 0 ]
then
 exec -a "/usr/local/bin/ifort" /usr/local/bin/ifortbin "$@";
else
 exec -a "/usr/local/bin/ifort" /usr/local/bin/ifortbin;
fi

Ich hab auch darauf geachete überall 9.1.036 statt 9.0 einzusetzten und eigentlich denke ich nicht, dass ich mich verschrieben habe...
aber falls man hier jetzt nichts falsches sieht, kontrollier ich nochmal alles!

Vielen Dank schonmal!

haraldkl

Avatar von haraldkl

Anmeldungsdatum:
21. Juli 2005

Beiträge: 1903

Wohnort: Würselen

Die Zeile verursacht den Fehler:
Lina hat geschrieben:

#!/bin/sh

export -n IA32ROOT; unset IA32ROOT;

Ich vermute mal, du benutzt edgy. Hier ist die Standard-Shell (/bin/sh) dash, das wohl kein export -n kennt. Am einfachsten müsste sich das Problem dadurch lösen lassen, dass du in der ersten Zeile das #!/bin/sh durch

#!/bin/bash


ersetzt und damit die Bash explizit als Shell auswählst. Es kann auch sein, das die Zeile mit dem "export -n" eigentlich völlig unnötig ist und du sie einfach löschen könntest, aber mit der Änderung der Shell solltest du auf der sicheren Seite sein.
Ich versuche mich heute mal an der Installation von 9.1 unter Edgy und passe die Wiki-Anleitung dann falls nötig entsprechend an.

Vielen Dank für deinen Hinweis. 😀

haraldkl

Avatar von haraldkl

Anmeldungsdatum:
21. Juli 2005

Beiträge: 1903

Wohnort: Würselen

So, ich habe den Wiki-Artikel auf 9.1 aktualisiert, und edgy-kompatibel gemacht. Natürlich sollte die Anleitung auch weiterhin unter dapper funktionieren, die explizite Angabe der Bash im Shebang tut hier nicht weh. 😉
Wenn dein Problem damit behoben ist, markiere den Thread noch bitte als gelöst. Vielen Dank.

Lina

(Themenstarter)

Anmeldungsdatum:
12. Januar 2007

Beiträge: 7

Vielen Dank für die Hilfe!

Das erste umwandeln von sh in bash hat zwar nicht geholfen, aber ich hab dann alles nochmal neu gemacht nach der überarbeiteten Anleitung.

Jetzt funktionierts tadellos!!

Antworten |