On Sat, 2006-04-22 12:03:14 +0200, RalfGesellensetter <rgx@gmx.de> wrote:
seit einiger Zeit kann ich auf meinem (gemischten) Debiansystem Audacity
Was ist denn ein "gemischtes" Debian-System?
nicht mehr starten. Ich vermute es liegt an inkompatiblen Libs. Vielleicht lässt sich dieses Strace mit etwas Erfahrung einfach entschlüsseln:
Eher hätte ltrace sinnvolle Infos gegeben.
... access("/etc/ld.so.nohwcap", F_OK) = 0 open("/usr/lib/libtiff.so.4", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340H\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=335620, ...}) = 0 old_mmap(NULL, 335516, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40bca000 old_mmap(0x40c1a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x50000) = 0x40c1a000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40c1c000 mprotect(0x408f2000, 4096, PROT_READ) = 0 munmap(0x40017000, 91615) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=RLIM_INFINITY}) = 0 getpid() = 12262 rt_sigaction(SIGRTMIN, {0x40793300, [], 0}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x407933b0, [RTMIN], 0}, NULL, 8) = 0 rt_sigaction(SIGRT_2, {0x40792e80, [], 0}, NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 8) = 0 _sysctl({{CTL_KERN, KERN_VERSION, 0, 20d49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 2, 0xbffff4c4, 31, (nil), 0}) = 0 brk(0) = 0x82dc000 brk(0x82fd000) = 0x82fd000 --- SIGILL (Illegal instruction) @ 0 (0) --- +++ killed by SIGILL +++
Das ist entweder sehr früh beim Programmstart--oder die libtiff wurde via libdl nachgeladen. Also... Drei Dinge gibts, die interessant sind: Einmal solltest Du ltrace statt strace nehmen, das ist viel näher an dem, was uns interessiert. Sollte das noch zur Startzeit des Programms passieren (also bevor main() aufgerufen wurde), dann sollten wir erstmal genauer in den Link-Prozeß gucken: LD_DEBUG=all audacity > foo 2>&1 ...und dann könnte man noch gucken, ob die libSegFault da weitere Infos bringt: LD_PRELOAD=/lib/libSegFault.so audacity > foo2 2>&1 Wenn das alles keine Erkenntnisse bringt, bleibt nur noch die Neukompilation der beteiligten Programme/Libraries. Allerdings wundert mich das Verhalten schon: soetwas sollte eigentlich nicht vorkommen. Hast Du mal manuell an irgendwelchen Schrauben gedreht, von denen man besser hätte die Finger lassen sollen? Z.B. irgendwelche zusätzlichen Symlinks für Libraries angelegt? MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O für einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));