Hallo zusammen,
nachdem auf meiner SuSE9.0-Partition Scribus-1.2 problemlos installiert werden konnte, wollte ich es auf SuSE9.1 und auf SuSE9.2 auch installieren.
Alle verfügbaren Pakete und zuletzt ein selbst fehlerfrei erstelltes Kompilat ergeben Fehlermeldungen wie folgt:
– mit root-Rechten im Terminal gestartet:
Xlib: connection to”:0.0″ refused by server
Xlib: invalid MIT-MAGIC-COOKIE-1 key
scribus: cannot connect to X server :0.0
– als user aufgerufen im Terminal:
Segmentation fault
(also: Speicherzugriffsfehler)
Warum klappt es auch nicht mit meinem fehlerfreien Kompilat?
Mein PC: AMD Duron 1100 Mhz, 352 MByte Ram
Danke für jede Antwort.
Ulf
mit root-Rechten im Terminal gestartet:
Warum? Was erhoffst du dir davon, ein Programm mit root-Rechten zu starten?
Xlib: connection to”:0.0″ refused by server Xlib: invalid MIT-MAGIC-COOKIE-1 key scribus: cannot connect to X server :0.0
X hat eine eigene Zugriffskontrolle. Nur der angemeldete Benutzer darf normalerweise den X-Server benutzen. Und nein, du brauchst das jetzt nicht zu umgehen.
Segmentation fault
Da könnte man z.B. mal mit strace scribus nachschauen, bis wohin er überhaupt kommt, bevor der SIGSEGV kommt.
Jan
Hallo Ulf,
Du musst Scribus nicht selbst kompilieren, auf der Homepage des Programms gibt es auch ein Paket für SUSE 9.1 (siehe [1]). Das läuft bei mir unter SUSE 9.2 anstandslos ohne dass ich irgendwas drehen oder tricksen musste, ich hab einfach eine mit YOU aktuell gehaltene 9.2.
Viele Grüße,
Rene
[1] http://www.scribus.org.uk/modules.php?op=modload&name=Downloads&file=index&req=viewsdownload&sid=8
hallo Rene,
danke fuer den Hinweis, aber mit meinem Terminus “alle verfuegbren Pakete” habe
ich schon alle fuer scribus von SuSE verfuegbaren Pakete installiert gehabt.
Nur ist es mir unverstaendlich, wie ich (nach zig Kerneln) mit einem kompilierten
scribus-1.2 eben genau denselben Effekt habe. Alles was ich bisher auf meinem
PC selber kompiliert hatte, lief darauf immer sofort einwandfrei.
So bleibt es mir erst mal ein Raetsel. Aber ich werde einen strace-Auszug hier
bringen, an dem die Profis sicher besser erkennen koennen, was los ist.
Danke und Servus, ulf
Hallo zusammen,
hier stelle ich gleich mal das Ende des 125kbyte langen strace-Auszuges hin und
hoffe, dass die Profis was damit anfangen koennen.
—————————–
access(“/usr/X11R6/lib/X11/fonts/Type1/cmunui.pfb”, R_OK) = 0
lstat64(“/usr/X11R6/lib/X11/fonts/Type1/cmunvi.afm”, {st_mode=S_IFREG|0644, st_size=40282, …}) = 0
access(“/usr/X11R6/lib/X11/fonts/Type1/cmunvi.afm”, R_OK) = 0
lstat64(“/usr/X11R6/lib/X11/fonts/Type1/cmunvi.pfb”, {st_mode=S_IFREG|0644, st_size=156552, …}) = 0
access(“/usr/X11R6/lib/X11/fonts/Type1/cmunvi.pfb”, R_OK) = 0
lstat64(“/usr/X11R6/lib/X11/fonts/Type1/cmunvt.afm”, {st_mode=S_IFREG|0644, st_size=40613, …}) = 0
access(“/usr/X11R6/lib/X11/fonts/Type1/cmunvt.afm”, R_OK) = 0
lstat64(“/usr/X11R6/lib/X11/fonts/Type1/cmunvt.pfb”, {st_mode=S_IFREG|0644, st_size=142188, …}) = 0
access(“/usr/X11R6/lib/X11/fonts/Type1/cmunvt.pfb”, R_OK) = 0
getdents64(8, /* 0 entries */, 4096) = 0
close(8) = 0
access(“/usr/X11R6/lib/X11/fonts/Type1/.”, F_OK) = 0
lstat64(“/usr/X11R6/lib/X11/fonts/Type1/.”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
access(“/usr/X11R6/lib/X11/fonts/Type1/..”, F_OK) = 0
lstat64(“/usr/X11R6/lib/X11/fonts/Type1/..”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
access(“/usr/X11R6/lib/X11/fonts/Type1/UTBI____.afm”, F_OK) = 0
lstat64(“/usr/X11R6/lib/X11/fonts/Type1/UTBI____.afm”, {st_mode=S_IFREG|0644, st_size=21991, …}) = 0
access(“/usr/X11R6/lib/X11/fonts/Type1/UTBI____.pfa”, F_OK) = 0
lstat64(“/usr/X11R6/lib/X11/fonts/Type1/UTBI____.pfa”, {st_mode=S_IFREG|0644, st_size=75363, …}) = 0
open(“/usr/X11R6/lib/X11/fonts/Type1/UTBI____.pfa”, O_RDONLY) = 8
fcntl64(8, F_SETFD, FD_CLOEXEC) = 0
fstat64(8, {st_mode=S_IFREG|0644, st_size=75363, …}) = 0
mmap2(NULL, 75363, PROT_READ, MAP_PRIVATE, 8, 0) = 0x412f4000
close(8) = 0
brk(0) = 0x85bc000
brk(0x85dd000) = 0x85dd000
— SIGSEGV (Segmentation fault) @ 0 (0) —
+++ killed by SIGSEGV +++
—————————-
danke fuer die Mitarbeit!
Servus, Ulf
Naja, das etwas sauber kompiliert heisst lange nicht, das das Programm fehlerfrei ist!
Hast Du mal eine aktuellere Version (ist nicht schon die 1.2.1 raus?) versucht oder im Bugtracker von Scribus nachgeschaut? Vielleicht ist der Fehler ja bekannt und es gibt schon eine Lösung dazu (evtl. nur in der Entwicklerversion). Wende Dich doch einfach mal an die Kontaktaddressen, die auf der Scribus Homepage angegeben sind.
Mit einem strace wird Dir hier auch niemand ernsthaft weiter helfen können. Dazu braucht es viel Wissen über die Programminterna und selbst dann kann der Fehler irgendwo im Programm selber sitzen und ist damit für strace (== Protokoll der Kernelaufrufe) unsichtbar. Strace ist toll, wenn man fehlende Dateien/Zugriffsrechte und so finden muss, als Debuggingtool für SegFaults aber nur bedingt geeignet.
hallo Tobias,
danke fuer deine Antwort. Strace habe ich nur gemacht, weil es Jan in seiner
Antwort fuer sinnvoll hielt.
Zur Verdeutlichung meines Problems ein paar Erklaerungen:
– Ich habe 2 Festplatten 30/89 Gigabyte im PC, weil ich
die Website unserer Alpenvereinssektion manage.
(www.dav-tutzinger-huette.de)
Um sicher zu gehen, sind die Inhalte beider Festplatten,
was die SuSE-Partitionen betrifft identisch.
– Um am Fortschritt teilzuhaben, habe ich zunaechst SuSE9.1
Professional eingerichtet, danach eine SuSE9.2 in der
Version von Easy-Linux. Absicht ist: Sobald in der naechsten
Stufe alles klappt, wird die unterste eliminiert.
Bisher konnte ich nur auf SuSE9.0 ALLES ohne Probleme
installieren (z.B. gimp2.0, scribus1.2, firefox1.0.1. etc.)
Auf SuSE9.1 u. 9.2 klappt auch alles, NUR scribus nicht.
– Was ist nach SuSE9.0 anders? Z.B. der Kernel, jetzt Version
2.6.4.52-default in 9.1 bzw. 2.6.8-24.10-default in 9.2.
Auch zu wissen: Gemaess Handbuch ist scribus python-basiert.
Auf rpmfind.net werden die scribus-Versionen mit dem Zusatz
“Programmiert in QT” beschrieben.
– Wird in den Kerneln 2.6.x der Speicher anders verwaltet? Bei
mir sind SDR-Rams 256+64+32Mbyte drin. Der Speichertest mit
SuSEs memtest86 ergibt hier keinerlei Fehler.
– Mittlerweile habe ich schon installiert gehabt (immer mit dem
selben Fehler):
scribus-1.1.6-7.i586.rpm
scribus-1.2-6.i586.rpm
scribus-1.2-5.1.i586.rpm
scribus-1.2.1-1.0suse91.i686.rpm
scribus-1.2.tar.gz (sourc-code, selbst ohne fehler kompiliert)
Und immer derselbe Fehler beim Aufruf: Segmentation fault /
Speicherzugriffsfehler.
– Es bleibt die Frage: Was ist bei scribus anders? Denn alle
anderen Programme klappen sofort (gimp2.2, firefox1.0.1,
thunderbird1.0, evolution, etc)
– Auf http://www.scribus.org.uk habe ich kein entsprechendes Problem
beschrieben gefunden, auch nicht im bug tracker.
bitte um Vergebung wegen des Umfangs meines Beitrages, aber die
Details erschienen mir notwendig.
Danke und Servus, Ulf
Wenn Du so viele Probleme mit SuSE hast, warum versuchst Du es nicht mal mit
einer anderen Distribution? Es gibt davon doch genug. Mit allem was
Debian-basiert ist hatte ich noch nie solche Probleme, und statt
Neuinstallation kommst Du da mit einem Update aus dem Netz hin.
Schau’ Dir doch wenigstens mal den Device Mapper an! Damit kannst Du z.B.
Snapshots Deiner Partitionen machen und jederzeit wieder zu diesen
zurückkehren. Dann hört wenigstens diese Hampelei mit den zwei Partitionen auf!
Hallo Tobias,
das sehe ich nicht so. Ich habe keine Schwierigkeiten mit SuSE,
denn es funktioniert ja alles prima, bis auf scribus. Abgesehen
davon, dass es wirklich Probleme gab, als ich mit Slackware von
mehr als 10 Disketten mit Linux anfing :-)
Da musste man ja tatsächlich alles selber per Hand konfigurieren.
Nein, mit SuSE und scribus kommen ja andere gut klar. Es muss also
an meinem PC, meiner Konfiguration oder Installation liegen. Und da
bin ich noch auf der Suche nach einer zündenden Idee, was ich hier
tun kann. Die SuSE9.2-Partition lasse ich hier erst mal ausser Betracht,
weil diese von Easy Linux kommt und vielleicht etwas “kastriert” sein
könnte. Aber bei SuSE9.1-Professional müsste es zumindest klappen,
wenn und nachdem ich darauf selbst scribus ohne Fehler kompiliert habe!
Was könnte ich also noch versuchen, um mein Speicherzugriffs-Problem
in den Griff zu kriegen? Was könnte ich in den zahllosen Tiefen von
/etc/sysconfig checken oder verändern? Dass es an meinem Ram mit
256+64+32=352MByte liegen könnte, schliesse ich nach fehlerfreiem
Lauf von Memtest86 aus, auch, weil ja alle anderen Programme einwandfrei
laufen.
Jedenfalls danke ich allen Lesern der Beiträge und freue mich auf
jede Idee (auch “Schnaps-Idee”, denn die könnte ja wieder neue
Gedanken anstossen)
servus, Ulf
Wow, Ihr SuSE Fans habt eine hohe Schmerzgrenze!
Wenn ein Program nicht tut, das ich brauche, dann schreibe ich einen Bugreport
bei meiner Distribution und schaue mir dann mal an was die Entwickler dazu
sagen. Hast Du Dein Problem bei SuSE schon geschildert? Was sagen die
Scribus-Entwickler dazu?
Hier wirst Du jedenfalls kaum vernünftige Hilfe zu so einem speziellen Problem
finden… wenn Du es selbst lösen willst, dann schnapp’ Dir einen Debugger.
Hallo Tobias, hallo zusammen,
das Scribus-Problem auf meiner SuSE9.2-Partition ist geloest.
Das von mir installierte Paket “scribus-1.2-1.0suse91.i686.rpm
war die Ursache des Fehlers.
Jetzt habe ich “scribus-1.2.1-1.0suse91.i686 installiert und
scribus laeuft einwandfrei. Dieses Paket hat 6295901 Bytes im
Gegensatz zum falschen mit nur 3820733 Bytes. Die Vermutung,
dass das Paket korrupt waere, wird allerdings dadurch gestoert,
das es sich mit rpm ohne weiteres installieren liess.
Ich danke fuer euer Interesse.
Servus, Ulf
hallo zusammen,
sorry, dass es bis jetzt gedauert hat, hier eine Rückmeldung zu senden.
was ich aus dem strace ersah, war, dass irgendwas mit dem Einlesen von
Schriften nicht ok ging. Also habe ich sämtliche fonts und dazu die
pakete freetype und fontconfig neu geladen. Und siehe, jetzt gehts.
Was da bei meinen beiden Partitionen (9.1 u. 9.2) einst gleichermassen
schief ging beim nachladen einiger fonts, die nicht bei suse dabei sind,
konnte ich nicht mehr rekonstruieren.
Vielen Dank für die Hilfe!
servus, ulf
Hallo Jan,
danke fuer den Hinweis mit dem X-server. Ja, das haette mir auch einfallen sollen.
aber was probiert man nicht alles, wenn es nicht klappt? :-(
ulf