osmupdate findet osmconvert nicht

Hallo,
ich bin gerade dabei meine Garminkartenerstellung auf Linux umzustellen. Gerade hänge ich an dem Problem, dass osmupdate meldet, dass er osmconvert nicht finden kann. Beide habe ich im selben Ordner liegen. Muss ich da noch irgendwas zusätzlich bekannt machen? Bin gerade erst dabei, Xubuntu zu verstehen, daher verzeiht mir die evtl. etwas dumme Frage.

Daß nur Programme im Pfad gefunden und ausgeführt werden, und daß . standardmäßig aus Sicherheitsgründen nicht im Pfad liegt, bedurfte vermutlich nicht der Erwähnung.
Im einfachsten Fall installierst du osmconvert etc. in Form eines passenden Pakets für die Distro, dann liegt es gleich an der richtigen Stelle und eventuelle Abhängigkeiten werden auch berücksichtigt (wobei osmconvert nichts spezielles benötigt). Ansonsten einfach osmconvert nach /usr/bin kopieren.

Das verschieben nach /usr/bin hat geholfen, Danke.

Im diesem bestimmten Falle von osmupdate stimmt dass nicht, denn wenn Du Dir den source von osmupdate angeschaut hast,
findest Du nämlich genau ein

Entweder hat der Meister ein “chmod 755” vergessen oder das binary “osmconvert.exe” benannt, oder er startet via
/home/aighes/osm/osmconvert …
aus einem anderen Verzeichnis heraus und dann ist “osmupdate” und “osmconvert” relativ nicht mehr zusammen.

EDIT:
Oopsi, Problem hat sich schon erledigt :smiley:

Naja…schöner fände ich es, wenn ich die Datei am alten Ort liegen lassen kann. Ist evtl. aber auch nur eine Win-Gewohnheit…

Der Pfad ist /home/aighes/OSM/mkgmap/bin/osmupdate bzw. osmconvert. Ausführbar ist osmconvert.
Das Startscript (enthält ./bin/osmupdate …) liegt im Ordner mkgmap. Dsa starte ich, in dem ich ein Terminal in dem Ordner öffne und ./startscript.sh starte.

Private ausführbare Dateien leg ich mir bevorzugt nach ~/bin.
Liegt bei den meisten Distributionen standardmäßig im Suchpfad.

Wenn Dir das so wichtig ist:
Du ersetzt die oben von mir erwähnte Zeile 497


"./osmconvert";

in der Datei “osmupdate.c” durch


"./bin/osmconvert";

und compilierst neu:


gcc osmupdate.c -o osmupdate

dann geht Dein Startskript wieder.

Da hat keine ausführbare Datei von Dir was zu suchen - wenn Du selbst ein Binary zur Distribution ergänzt sollte das nach “/usr/local/bin/” (wenn nicht existent, darfst Du das anlegen). Und wenns nicht systemweit sein soll, dann kann man sich ein “~/bin/” anlegen und in den $PATH aufnehmen (bzw. manche Distributionen prüfen selbstständig ob das vorhanden ist, und wenn ja isses auch schon im $PATH).