Hallo
Kann nicht mehr nach o5m wandeln ?
Ich bekomme jetzt immer die Meldung hier:
marko@marko-desktop:~$ cd Dokumente/mkgmapo
marko@marko-desktop:~/Dokumente/mkgmapo$ ./osmconvert32 de-dk-s-n-fin-lit-let-est-pol.osm.pbf >de-dk-s-n-fin-lit-let-est-pol.o5m
bash: ./osmconvert32: Datei oder Verzeichnis nicht gefunden
marko@marko-desktop:~/Dokumente/mkgmapo$
osmosis geht einwandfrei.
Ich kann die ausgeschnittene Datei nicht mehr nach o5m wandeln?
Gerade noch mal die neuste osmconvert32 für linux 32 bit geladen und ausführbar gemacht
Gruß
Wobei osmconvert32 hinter der Zeit in grün dargestellt ist
marko@marko-desktop:~$ cd Dokumente/mkgmapo
marko@marko-desktop:~/Dokumente/mkgmapo$ ls -l osmconvert32
-rwxrwxrwx 1 marko sudo 226858 Jun 27 10:38 osmconvert32
marko@marko-desktop:~/Dokumente/mkgmapo$
wat denn nu? oben sagst du “gerade läuft…” und zwei Zeilen später: “startet osmconvert32 auch nicht”
sorry, aber da du dich beharrlich weigerst, ALLE Infos rauszurücken bzw. die Screenshots nicht zur Fehlermeldung passen, kann ich dir auch nicht mehr weiterhelfen.
Hallo
Sorry blöde ausgedrückt!
Also
Jetzt läuft die neue D-Benelux Karte 28/06/2013 ohne osmconvert32 mit den bounds von Navmaps.
In keinem Verzeichnis bei mir (mkgmap o -f-b-k) geht osmconvert32
Ich bekomme für Keine Karte 05m ?
Das mkgmapo ist eines davon.
Auf dem Bild ist die Datei auch nicht zu sehen da gelöscht / nur das poly.
die Datei wird wie gewohnt von osmosis in dem Verzeichnis erstellt.
Fangen wir mal von vorne an. Ich vermute Du nutzt sonst eher keine Kommandozeile?
Ein Programm 5fach zur Nutzung bereitzustellen ist unsinnig. Willst Du aber nicht ins System “reinpfuschen”, sondern in Deinem $HOME bleiben, dann wäre das so zu lösen:
Lege ein Verzeichnis “~/bin” an (sofern nicht schon vorhanden). Sorge mit einem “chmod 755 ~/bin” dafür, dass in dem Verzeichnis auch Dateien ausgeführt werden dürfen.
Dann wäre die Variable $PATH zu prüfen. Gibt ein “echo $PATH” nicht auch eben jenes (ggf. neu angelegte) Verzeichnis aus, so musst Du dieses hinzufügen. Da Du die Bash zu nutzen scheinst, wäre die richtige Datei hierfür “~/.bashrc” (wenn nicht vorhanden - anlegen). Diese dann um folgende Zeile ergänzen:
PATH=~/bin:$PATH
Sofort aktiviert wird der neue Inhalt, in dem Du nun “. ~/.bashrc” ausführst; Das “bin”-Verzeichnis in Deinem Home sollte von nun an in der Ausgabe von “echo $PATH” enthalten sein. Nun kopierst Du noch Dein “osmconvert32” in dieses Verzeichnis, und vergibst mit einem “chmod 755 ~/bin/osmvonvert32” noch die notwendigen Rechte. Und da das Ganze Null & nix mit sudo zu tun hat (Dein aktuelles osmconvert32 scheint der Gruppe “sudo” zu gehören - wie auch immer Du das angestellt hast), schiebst Du noch ein “chown marko:marko ~/bin/osmconvert32” hinterher.
Nun sollte “osmconvert32” von jedem Deiner Verzeichnisse aus aufrufbar sein - ohne “./” vorangestellt. Beispiel & Test:
cd /tmp
osmconvert32 --help
(Kleine Anmerkung für Andere: Wäre die aufgerufene Datei nicht vorhanden, wäre die Fehlermeldung eine Andere.)
Mit dem Befehl “osmconvert32” hast Du der Kiste gesagt, sie soll dasjenige osmconvert32 aufrufen, das dort liegt wo Programme hingehören. Da liegt bei Dir aber keines.
Mit dem früher benutzten Befehl “./osmconvert32” sagst Du der Kiste, sie soll dasjenige Programm osmconvert32 starten, das im aktuellen Verzeichnis liegt. Damals warst Du aber in einem Verzeichnis, in dem jedenfalls damals keines lag.
Es ist Quatsch, mehrere von den osmconvert32 rumliegen zu haben – das macht nur alle Updates und die Fehlersuche kompliziert – es sei denn, Du willst mehrere Versionen der Programme miteinander vergleichen. Dass Du mehrere Verzeichnisse benutzt und das osmconvert32 mehrfach gleichzeitig laufen lassen willst ist völlig ok – dazu braucht man das Programm aber nicht mehrfach.
Kopier mal eines der osmconvert32 in das Verzeichnis ~/bin. Wenn das Verzeichnis nicht nicht existiert, dann leg es an. Danach müsste in jedem Verzeichnis der Befehl “osmconvert32 --help” funktionieren (also der ohne das “./”). Danch würde ich alle anderen Exemplare des Programms wegwerfen und bei allen Aufrufen “./osmconvert32…” vorn das “./” entfernen.
cd ~
mkdir bin
echo 'PATH=~/bin:$PATH' >> .bashrc
cd bin
wget -O - http://m.m.i24.cc/osmconvert.c | cc -x c - -lz -O3 -o osmconvert
mv osmconvert osmconvert32
chmod u+x osmconvert32
cd ~
Zeile für Zeile ausführen und freuen. Das ist (fast) genau was “Joachim Moskalewski” geschrieben hat und gar nicht schwer ;-). Ich hab’ gerade kein System zum Testen da, aber man soll ja sowieso nicht einfach Dinge aus dem Internet ungeprüft in seine Shell eingeben
/edit: Skript an den Hinweis von SammysHP angepasst – Danke, ich war nicht ganz bei der Sache.
Gehte sogar ancora più einfach. Die dritte Zeile ist komplett überflüssig, weil der C-Compiler automatisch eine ausführbare Datei generiert. Auch die zweite läßt sich einsparen, indem man das Programm gleich so benennt, wie man es haben möchte:
wget -O - http://m.m.i24.cc/osmconvert.c | cc -x c - -lz -O3 -o osmconvert32
Es sei mal dahingestellt, warum man die Datei überhaupt lieber osmconvert32 statt osmconvert nennen möchte… Über Möglichkeiten wie ln -s oder alias hüllen wir wohl lieber den Mantel des Schweigens.
Dein “sollten” sagt eigentlich schon alles. Und: Wenn alles schon stimmte - dann ändere ich ja gar keine Rechte
Ich wüsste keine Definition die besagt, welche Rechte ein neues Verzeichnis oder eine neue Datei zu bekommen hat. Dagegen ist das m.W. sogar konfigurier- bzw. verbiegbar. Ich habe z.B. auch keinen Schimmer, ob da nicht ein externes Laufwerk wie auch immer gemountet ist… (ok, unwahrscheinlich - verdeutlicht aber die Thematik). Und bei einem User, der eine selbst hinkopierte Datei einer Gruppe “sudo” manuell geschenkt haben muss, setze ich lieber die Rechte manuell (er)neu(t). Sonst heißts nacher “tut auch net” - und wir stehen wieder auf der grünen Wiese.
Aber hier fehlen Basics. Die wollte ich vermitteln. Das mit dem “Fisch schenken” und “angeln zeigen”.
Ich habe in meinem Leben bereits tausende Verzeichnisse auf Dutzenden, wenn nicht sogar hunderten Systemen erstellt. Noch nie hatte ich als Eigentümer standardmäßig keine Lese-/Schreibrechte.
Jup, siehe umask. http://linux.die.net/man/2/umask
Mit dem gleichlautenden Befehl kann man sich die Maske anzeigen und modifizieren. Standard ist 0002. Zusammen mit den Standardrechten von Verzeichnissen (777) ergibt sich daraus 775.
Die osmconvert32 mit root Rechten in Rechner/bin kopiert.
Das kommt raus
marko@marko-desktop:~$ osmconvert32 --help
bash: /bin/osmconvert32: Datei oder Verzeichnis nicht gefunden
marko@marko-desktop:~$
Der 2. Vorschlage :
Da geht was nach dem download nicht ?
Da ist schwerwiegender Fehler ? Wohl was mit “zlib.h” ?
Habe jede Zeile einzeln mit Enter bestätigt.
marko@marko-desktop:~$ cd ~
marko@marko-desktop:~$ mkdir bin
marko@marko-desktop:~$ echo 'PATH=~/bin:$PATH' >> .bashrc
marko@marko-desktop:~$ cd bin
marko@marko-desktop:~/bin$ wget -O - http://m.m.i24.cc/osmconvert.c | cc -x c - -lz -O3 -o osmconvert
--2013-06-28 20:51:29-- http://m.m.i24.cc/osmconvert.c
Auflösen des Hostnamen »m.m.i24.cc (m.m.i24.cc)«... 80.67.17.148, 2a00:1158:0:300:432f::1
Verbindungsaufbau zu m.m.i24.cc (m.m.i24.cc)|80.67.17.148|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 415131 (405K) [text/plain]
In »»STDOUT«« speichern.
100%[======================================>] 415.131 765KB/s in 0,5s
2013-06-28 20:51:30 (765 KB/s) - auf die Standardausgabe geschrieben [415131/415131]
<stdin>:424:18: Schwerwiegender Fehler: zlib.h: Datei oder Verzeichnis nicht gefunden
Kompilierung beendet.
marko@marko-desktop:~/bin$ mv osmconvert osmconvert32
mv: der Aufruf von stat für »osmconvert“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
marko@marko-desktop:~/bin$ chmod u+x osmconvert32
chmod: Zugriff auf »osmconvert32“ nicht möglich: Datei oder Verzeichnis nicht gefunden
marko@marko-desktop:~/bin$ cd ~
marko@marko-desktop:~$
Das Löschen ist nicht nötig. Falls man die Datei aus irgend einem Grund (z.B. wegen Verweisen an x Stellen) in mehreren Verzeichnissen braucht, genügt ein ln (hard link). Dann sieht es für normale Programme wie die Originaldatei aus, braucht aber praktisch keinen Platz, ist nur ein spezieller Eintrag im Verzeichnis. Einzige Bedingung ist, dass die Verzeichnisse für einen hard link auf dem selben physikalischen Datenträger liegen.