Forum: PC Hard- und Software Quartus-Aufruf in Linux über Verknüpfung funktioniert nicht


von Dussel (Gast)


Lesenswert?

Moin,

über Linux wird ja gerade wieder diskutiert und ich habe eine Frage zu 
Linux (Lubuntu 20.04).

Auf meinem System habe ich Quartus (FPGA-Entwicklung) unter 
/opt/Intel_FPGA installiert. Um mein $PATH nicht mit zu vielen Ordnern 
zu füllen, habe ich /opt/bin angelegt, den ich in $PATH eingetragen 
habe. Darin habe ich mit
1
ln -s /opt/Intel_FPGA/quartus/bin/quartus quartus
eine Verknüpfung angelegt.

Wenn ich Quartus direkt aus dem Quartus-Ordner starte, funktioniert 
alles. Wenn ich den direkten Pfad zu Quartus in $PATH einfüge, 
funktioniert es auch. Wenn ich über die Verknüpfung (entweder direkt im 
Ordner oder über $PATH) starten will, bekomme ich mehrfach die gleiche 
Fehlermeldung.
1
/opt/bin/quartus: Zeile 59: /opt/adm/qenv.sh: Datei oder Verzeichnis nicht gefunden
2
/opt/bin/quartus: Zeile 61: test: !=: Einstelliger (unärer) Operator erwartet.
Ich nehme an, dass das eine Fehlermeldung von Quartus ist und nicht 
direkt mit der Frage zu tun hat.

Es liegt wohl an der Verknüpfung. Hat jemand eine Ahnung, woher das 
kommen und was man dagegen tun kann?

von Achim M. (minifloat)


Lesenswert?

Dussel schrieb:
> Es liegt wohl an der Verknüpfung.

Ist das eine Verknüpfung wie bei Windows oder ein Alias/Hardlink?

Alias bewirkt, dass das binary scheinbar in dem Ordner, in dem der Alias 
steckt, ausgeführt wird. Dann ist klar, dass der quartus sein Zeuch 
nicht findet.

mfg mf

: Bearbeitet durch User
von Dussel (Gast)


Lesenswert?

Achim M. schrieb:
> Ist das eine Verknüpfung wie bei Windows oder ein Alias/Hardlink?
Eine 'symbolische Verknüpfung', ln -s.

Achim M. schrieb:
> Alias bewirkt, dass das binary scheinbar in dem Ordner, in dem der Alias
> steckt, ausgeführt wird. Dann ist klar, dass der quartus sein Zeuch
> nicht findet.
Und wie kann man das umgehen bzw. richtig machen?

von Gerhard Z. (germel)


Lesenswert?

Ich leg für sowas normalerweise ein kurzes Shellscript an mit

#!/bin/bash
cd PATH2PROGRAM
./PROGRAM

und mache es ausführbar. Es gibt sicher bessere Methoden.

von User (Gast)


Lesenswert?

Das beste ist du legst ein Script in mit Namen setup.sh in 
/opt/Intel_FPGA/ an
mit dem inhalt

#!/bin/bash
export PATH="$PATH:/opt/Intel_FPGA/quartus/bin"

das lädst du dann in einer shell mit
. /opt/Intel_FPGA/setup.sh

somit sind alle altera/Intel_FPGA sachen nur in der gerade geöffneten 
shell verfügbar. funktioniert bei mir super.

von Dussel (Gast)


Lesenswert?

Danke für die Antworten.
Ein Script anzulegen, nur um ein Programm zu starten, erscheint mir aber 
etwas umständlich. Dann doch lieber über PATH. Da wird PATH nach ein 
paar Jahren aber ziemlich unübersichtlich.

von Gerhard Z. (germel)


Lesenswert?

Oder doch eine alias in der .bashrc anlegen?!:
$ alias quartus='cd PATH2QUARTUS && ./quartus"

von Dussel (Gast)


Lesenswert?

Gerhard Z. schrieb:
> Oder doch eine alias in der .bashrc anlegen?!:
> $ alias quartus='cd PATH2QUARTUS && ./quartus"
Das wäre auch noch eine Idee. In .bashrc oder besser in .profile?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.