ubuntuusers.de

Programm aufrufen aus /usr/bin

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

rasalas

Anmeldungsdatum:
7. Oktober 2009

Beiträge: Zähle...

Hallo,

ich habe ein Problem und weiß nicht, mit welchen Suchbegriffen ich die Lösung finden kann. Ich möchte ein Programm aufrufen, dass ich nach /usr/bin verlinkt habe.

Wenn ich das Programm nun so aufrufe:

nico@nico-laptop:~/tmp/box$ smv5_linux_32 box_burn_away.smv
Segmentation fault

bekomme ich den Fehler und es funktioniert nicht.

Wenn ich dagegen diesen Aufruf starte:

nico@nico-laptop:~/tmp/box$ /usr/bin/smv5_linux_32 box_burn_away.smv
Texture directory: /usr/bin/textures                                

Smokeview 5.4.8 - Dec  3 2009

Version: 5.4.8
Smokeview (32 bit) Revision Number: 5220
Compile Date: Dec  3 2009
Platform: LINUX


Initializing Glut - initialized
Initializing OpenGL - initialized

Reading: box_burn_away.smv
reading input file
   pass 1
   pass 1 completed
   pass 2
      Loading colorbar texture:  - completed
   pass 2 completed
   pass 3
   pass 3 completed
   pass 4
   pass 4 completed
reading input file completed
beginning wrap up -

wrap up completed

läuft das Programm durch.

Hier ist noch die Verlinkung:

nico@nico-laptop:/usr/bin$ ll smv*
lrwxrwxrwx 1 root root 31 2010-02-25 23:46 smv5_linux_32 -> /opt/FDS/FDS5/bin/smv5_linux_32

Woran liegt denn das? Vielen Dank für jegliche Hilfe!

YEPHENAS

Anmeldungsdatum:
8. Juni 2009

Beiträge: 352

rasalas schrieb:

Hallo,

ich habe ein Problem und weiß nicht, mit welchen Suchbegriffen ich die Lösung finden kann. Ich möchte ein Programm aufrufen, dass ich nach /usr/bin verlinkt habe.

Wenn ich das Programm nun so aufrufe:

nico@nico-laptop:~/tmp/box$ smv5_linux_32 box_burn_away.smv
Segmentation fault

bekomme ich den Fehler und es funktioniert nicht.

Wenn ich dagegen diesen Aufruf starte:

nico@nico-laptop:~/tmp/box$ /usr/bin/smv5_linux_32 box_burn_away.smv
Texture directory: /usr/bin/textures                                

Das Programm ist offensichtlich schlampig programmiert. Es parst wohl das erste Argument ("argv[0]"), also den Aufruf des Programmes, um daraus einen Pfad für ein textures-Verzeichnis abzuleiten/zusammenzubauen. Dass das Programm ohne Pfadangabe gestartet werden könnte hat der Programmierer wohl kurioserweise nicht bedacht.

Colttt

Anmeldungsdatum:
29. April 2009

Beiträge: 1517

in dem programmnamen ist ein leerzeichen drin, das geht mal garnicht! dafür müsste derjenige gleich 10schläeg auf die nackte eichel bekommen...

YEPHENAS

Anmeldungsdatum:
8. Juni 2009

Beiträge: 352

Colttt schrieb:

in dem programmnamen ist ein leerzeichen drin, das geht mal garnicht! dafür müsste derjenige gleich 10schläeg auf die nackte eichel bekommen...

Leerzeichen? Das sind Underscores. Und das nach dem Leerzeichen ist eine als Argument übergebene Datei.

rasalas

(Themenstarter)

Anmeldungsdatum:
7. Oktober 2009

Beiträge: Zähle...

Okay, viele Dank. Das hat mir sehr weitergeholfen! Dann werde ich das bei den Programmiern so melden. Für die Nachwelt - ich habe mir erstmal so weitergeholfen:

Einen Skript namens smv in /usr/bin abgelegt mit folgendem Inhalt:

#!/bin/bash
/opt/FDS/FDS5/bin/smv5_linux_32 $1

Und dann noch die Berechtigung gesetzt:

sudo chmod +x /usr/bin/smv

Damit kann ich das Programm nun ganz einfach mittels

smv room_fire.smv

ausführen.

Antworten |