Ich benutze Debian unstable (tagesaktuell), habe heute (24.4.04
nach der Meldung für 1.32) einen cvs-checkout von det gemacht.
configure lief ohne Probleme durch. make genauso.
Beim ersten Start von det sollte ich ein Standardverzeichnis
auswählen, ich habe ein noch nicht existierendes angegeben (alle
Elternverzeichnisse existierten), det hat gesagt, es müsse noch
angelegt werden.
Danach kam nur noch auf der Konsole die Ausgabe
Abgebrochen
Das wars dann. Jeder weitere Start bringt nur noch diese Meldung
uns sonst nichts.
Was ist los?
PS:
Welche Angaben sollte ich noch machen?
Logged In: YES
user_id=443587
Hi Daniel,
ich wei gar nicht, wo wxWindows auf der Linux-Version die
entsprechenden Daten speichert, sonst knntest Du es dort
ndern. Wurde das Verzeichnis angelegt, welches Du
angegeben hast?
Wenn das Verzeichnis nicht existiert, kannst Du es erstellen?
Versuch in das Verzeichnis eine data.xdi und eine
detconfig.xml zu kopieren. Ansonsten wre es interessant,
wenn Du in der Datei det.cpp in der Funktion detApp::OnInit()
herausfinden wrdest, wo genau er abstrzt.
Ich muss mir dringend ein Linux-System anschaffen, sobald
ich etwas Geld habe :) So kann ich immer nur auf
Vermutungen hin raten, was gerade los ist.
Hoffe, das war irgendwie hilfreich. Daran sollte jedenfalls, da
hast Du Recht, noch gearbeitet werden.
Viel Erfolg beim zum Laufen bringen,
Denny
Logged In: YES
user_id=368440
Also, das ganze scheint eine locale-Geschichte zu sein.
strace liefert als Ende der Ausgabe:
uname({sys="Linux", node="lacci", ...}) = 0
stat64("/home/daniels/.DarkeyeTool", {st_mode=S_IFREG|0644,
st_size=83, ...}) = 0
open("/home/daniels/.DarkeyeTool", O_RDONLY|O_LARGEFILE) = 5
read(5, "DSA4WZPath=/home/daniels/Hans-Jo"..., 1024) = 83
close(5) = 0
open("/usr/lib/locale/de_DE.ISO-8859-1/LC_CTYPE", O_RDONLY)
= -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.iso88591/LC_CTYPE", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE/LC_CTYPE", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=207252, ...}) = 0
mmap2(NULL, 207252, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4104a000
close(5) = 0
futex(0x40892554, FUTEX_WAKE, 2147483647) = 0
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(11404, 11404, SIGABRT) = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++
nachdem ich eines der Verzeichnisse angelegt habe, vorher
war es:
stat64("/home/daniels/.DarkeyeTool", {st_mode=S_IFREG|0644,
st_size=83, ...}) = 0
open("/home/daniels/.DarkeyeTool", O_RDONLY|O_LARGEFILE) = 5
read(5, "DSA4WZPath=/home/daniels/Hans-Jo"..., 1024) = 83
close(5) = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1),
...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41021000
open("/usr/lib/locale/de_DE.ISO-8859-1/LC_CTYPE", O_RDONLY)
= -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.iso88591/LC_CTYPE", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE/LC_CTYPE", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/lib/locale/de.ISO-8859-1/LC_CTYPE", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/lib/locale/de.iso88591/LC_CTYPE", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/locale/de/LC_CTYPE", O_RDONLY) = -1 ENOENT
(No such file or directory)
futex(0x40892554, FUTEX_WAKE, 2147483647) = 0
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
write(1, "Vor locales0", 12Vor locales0) = 12
tgkill(11489, 11489, SIGABRT) = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++
Auch nicht viel anders, vielleicht aber doch interessant.
Mit zustzlicher Debug-Ausgabe kommt folgendes heraus:
daniels@lacci:~/Documents/programmieren/DSA4-Werkzeug/det$ ./det
Vor locales0Abgebrochen
Hier der Code:
//@ << setze Locales >>
//@+node:<< setze Locales >>
// setzt das Locale (nicht unbedingt portabel) -
alternativer Namen wre "de"
std::cout << "Vor locales0";
std::locale loc("German"); // TODOPORT
std::cout << "Vor locales1";
std::locale::global(loc); // TODOPORT
std::cout << "Vor locales2";
wxLocale* wxloc = new wxLocale();
std::cout << "Vor locales3";
wxloc->Init(wxLANGUAGE_GERMAN);
std::cout << "Nach locales";
// sollte eigentlich fr die Sortierung der Strings sorgen,
scheint aber
// nicht zu taugen
//@nonl
//@-node:<< setze Locales >>
//@nl
Was man jetzt da tun muss, wei ich leider nicht. Der
alternative Name "de" ndert auch nichts.
data.xdi und detconfig.xml habe ich keine bei mir auf der
Platte gefunden, aber da scheint das Problem auch nicht zu
liegen.
Was das Linux bei dir angeht: Ich bin auch
Parallelinstallierthabender ...
Gre,
Ha-Jo Daniels
Logged In: YES
user_id=443587
Versuch doch mal bitte, die ganzen Locale-Zeilen
rauszukommentieren, und es dann nochmal zu versuchen. Die
scheinen auch sonst vor allem viel rger zu machen, aber
selten korrekt zu sortieren.
ber Rckmeldung dankbar.
Denny
Logged In: YES
user_id=368440
OK, habe die Locale-Zeilen auskommentiert. Nur geht jetzt gar nichts
mehr. Speicherzugriffsfehler.
strace ./det
open("/home/daniels/Hans-Joachim/Rollenspiel/dsa/Tools/det/detconfig.
xml", O_RDONLY) = 5
brk(0) = 0x84ac000
brk(0x84d4000) = 0x84d4000
fstat64(5, {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
mmap2(NULL, 32768, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4104a000
read(5, "", 32768) = 0
futex(0x40892554, FUTEX_WAKE, 2147483647) = 0
futex(0x408d46c4, FUTEX_WAKE, 2147483647) = 0
close(5) = 0
munmap(0x4104a000, 32768) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Die angegebene detconfig.xml ist leer.
Logged In: YES
user_id=368440
Korrektur:
Die leere detconfig.xml habe ich mit touch erzeugt. Daraufhin strzt det
ab.
Mit gelschter detconfig.xml funktioniert es, det luft.