Newsgroup: it.comp.os.linux.software
Titolo: [Relocation error] Strani errori

Ecco alcuni errori che si verificano sulla 
mia debian testing:
# audacity
audacity: relocation error: audacity: symbol 
_ZTV10wxTextCtrl, version WXGTK_2.4 not 
defined in file libwx_gtk-2.4.so.0 with link 
time reference
#k3b
k3b: relocation error: 
/usr/lib/libk3bproject.so.2: undefined 
symbol: _ZTVN10K3bProcess15OutputCollectorE
Il resto funziona perfettamente.
Non capisco proprio cosa significhi tutto 
cio'. Cosa posso provare a fare?
-- 
Andrea B. <razucimin [at] tin [dot] it>
my home page: 
http://utenti.lycos.it/ballardplace
-----------------------------------------------------------------------
Please avoid sending me Word or PowerPoint 
attachments.
See 
http://www.fsf.org/philosophy/no-word-attachments.html
-----------------------------------------------------------------------

 Non capisco proprio cosa significhi tutto cio'. Cosa posso provare a fare?
Errori simili a me si verificano quando le versioni di certe librerie 
non siano quelle per cui sono state compilate i programmi.
Se hai tutto originale testing, certo è una cosa un po' strana, se 
invece hai fatto qualche innesto da unstable o altro potrebbe dipendere 
da quello.
Ciao, Paolo

 da quello.
Infatti ora ho risolto per audacity perche'
avevo innestato una libreria da un repository
esterno. Invece per k3b e' tutto testing
puro, e quindi non capisco proprio cosa fare.
Come faccio eventualmente a controllare che 
tutto il sistema sia testing puro, nel caso
mi sia scappato qualcosa di unstable o da 
altri repository?
Grazie mille.


 puro, nel caso mi sia scappato qualcosa di unstable o da altri repository?
Controlla prima di tutto con "ldd k3b" (si chiama cosi' l'eseguibile di 
k3b?) da quali librerie dipende, poi mettiti di santa pazienza a cercare 
se c'è qualche libreria che viene da un pacchetto non testing. Dato che 
l'errore ti viene solo con k3b, puoi ovviamente scartare tutte quelle 
librerie di utlità generale.
Un'altra cosa che potresti fare è lanciare da shell il comando "strace 
k3b", ti uscirà fuori una marea di messaggi finchè non si fermeranno per 
l'errore che sai. A quel punto guarda nelle righe precedenti se c'è il 
riferimento a una libreria "colpevole"
Se riesci a trovarla, poi risali facilemente al nome del pacchetto 
facendo una ricerca su 
http://www.debian.org/distrib/packages
.
Se proprio non riesci a venirne a capo ed hai un sistema molto 
"mescolato", potresti anche pensare di compilarti tu k3b dai sorgenti, 
però è sempre meglio che cerchi di capire comunque quali parti spurie 
hai tra le librerie.
Ciao ancora!

 altri repository?
In /etc/apt/preferences scrivi (IIRC):
Package: *
Pin: release a=testing
Pin-Priority: 1001
al prossimo aggiornamento gli eventuali pacchetti 
unstable verranno downgradati a testing.
-- 
"I may have invented it, but Bill made it famous"
David Bradley, 'CtrlAltDelete' inventor.
GNU/Linux Registered User #312473

 unstable verranno downgradati a testing.
Molto interessante da sapere, grazie.
Ma funziona anche rispetto ai pacchetti che provengono da backport non 
ufficiali debian?

 ufficiali debian?
Da quel che ho visto direi di si'.


 unstable verranno downgradati a testing.
Ho fatto cosi' ed effettivamente alcune 
librerie sono state riportate da unstable
a testing. Ma purtroppo l'errore non se n'e' 
andato:
garamond:/home/belbo# k3b
k3b: relocation error: 
/usr/lib/libk3bproject.so.2: undefined 
symbol: _ZTVN10K3bProcess15OutputCollectorE
Ho provato con lo strace, ma sinceramente non 
ho capito nulla del messaggio di errore. 
Riporto le ultime righe nel caso qualcuno di 
voi capisca qual'e' la libreria colpevole 
(scusate la lunghezza):
old_mmap(0x41c4f000, 1880, 
PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 
0x41c4f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 
ENOENT (No such file or directory)
open("/usr/lib/tls/libGLcore.so.1", 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\200\246"..., 
512) = 512lseek(3, 4838732, SEEK_SET) 
      = 4838732
read(3, 
"\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\3\0\0\0"..., 
32) = 32
fstat64(3, {st_dev=makedev(3, 3), 
st_ino=937412, st_mode=S_IFREG|0755, 
st_nlink=1, st_uid=0, st_gid=0, 
st_blksize=4096, st_blocks=9704, 
st_size=4954300, 
st_atime=2004/05/23-13:12:37, 
st_mtime=2004/04/08-20:11:46, 
st_ctime=2004/04/08-20:12:19}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41c50000
old_mmap(NULL, 4933916, PROT_READ|PROT_EXEC, 
MAP_PRIVATE, 3, 0) = 0x41c51000
old_mmap(0x420ef000, 86016, 
PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
3, 0x49d000) = 0x420ef000
old_mmap(0x42104000, 6428, 
PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 
0x42104000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 
ENOENT (No such file or directory)
open("/usr/lib/libexpat.so.1", 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\240!\0"..., 
512) = 512
fstat64(3, {st_dev=makedev(3, 3), 
st_ino=485662, st_mode=S_IFREG|0644, 
st_nlink=1, st_uid=0, st_gid=0, 
st_blksize=4096, st_blocks=256, 
st_size=126248, st_atime=2004/05/23-13:12:37, 
st_mtime=2004/02/29-18:02:37, 
st_ctime=2004/03/12-18:15:47}) = 0
old_mmap(NULL, 129252, PROT_READ|PROT_EXEC, 
MAP_PRIVATE, 3, 0) = 0x42106000
old_mmap(0x42123000, 12288, 
PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
3, 0x1c000) = 0x42123000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x42126000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x42127000
mprotect(0x41c51000, 4841472, 
PROT_READ|PROT_WRITE) = 0
mprotect(0x41c51000, 4841472, 
PROT_READ|PROT_EXEC) = 0
mprotect(0x41b2d000, 311296, 
PROT_READ|PROT_WRITE) = 0
mprotect(0x41b2d000, 311296, 
PROT_READ|PROT_EXEC) = 0
writev(2, [{"k3b", 3}, {": ", 2}, 
{"relocation error", 16}, {": ", 2}, 
{"/usr/lib/libk3bproject.so.2", 27}, {": ", 
2}, {"undefined symbol: _ZTVN10K3bProc"..., 
53}, {"", 0}, {"", 0}, {"\n", 1}], 10k3b: 
relocation error: 
/usr/lib/libk3bproject.so.2: undefined 
symbol: _ZTVN10K3bProcess15OutputCollectorE
) = 106
exit_group(127)


 ) = 106
La libreria direi che e' questa...
Puoi provare a controllare se e' un link simbolico
e a quale libreria punta...puo' darsi che punti
ad una versione piu' vecchia di quella richiesta
da k3b. 


 da k3b. 
Il problema e' che questa libreria fa parte 
di K3B... Ho provato a compilarlo a mano, e 
ottengo lo stesso identico errore. Deduco 
quindi che si tratti di un problema di una 
delle librerie collegate a 
/usr/lib/libk3bproject.so.2, ma quale?


 /usr/lib/libk3bproject.so.2, ma quale?
Intanto trova quali librerie usa con "ldd /usr/lib/libk3bproject.so.2".


Una volta che ho questa lunga lista di 
dipendenze, come faccio a capire quale 
libreria e' coinvolta nell'errore? Purtroppo 
il mio sistema non ha niente di strano, 
apparentemente... Tutti i check che faccio 
non rilevano nulla di strano.
garamond:/home/belbo/xmule# ldd 
/usr/lib/libk3bproject.so.2
                 libk3bdevice.so.2 => 
/usr/lib/libk3bdevice.so.2 (0x401a2000)
         libk3bcore.so.2 => 
/usr/lib/libk3bcore.so.2 (0x401c2000)
         libk3btools.so.2 => 
/usr/lib/libk3btools.so.2 (0x4021b000)
         libk3bplugin.so.2 => 
/usr/lib/libk3bplugin.so.2 (0x40271000)
         libkio.so.4 => /usr/lib/libkio.so.4 
(0x402a0000)
         libkdeui.so.4 => 
/usr/lib/libkdeui.so.4 (0x405ad000)
         libkdesu.so.4 => 
/usr/lib/libkdesu.so.4 (0x4084f000)
         libkdecore.so.4 => 
/usr/lib/libkdecore.so.4 (0x40869000)
         libDCOP.so.4 => 
/usr/lib/libDCOP.so.4 (0x40a52000)
         libdl.so.2 => /lib/tls/libdl.so.2 
(0x40a86000)
         libresolv.so.2 => 
/lib/tls/libresolv.so.2 (0x40a89000)
         libart_lgpl_2.so.2 => 
/usr/lib/libart_lgpl_2.so.2 (0x40a9b000)
         libkdefx.so.4 => 
/usr/lib/libkdefx.so.4 (0x40ab1000)
         libqt-mt.so.3 => 
/usr/lib/libqt-mt.so.3 (0x40add000)
         libpng12.so.0 => 
/usr/lib/libpng12.so.0 (0x4119c000)
         libXext.so.6 => 
/usr/X11R6/lib/libXext.so.6 (0x411c0000)
         libSM.so.6 => 
/usr/X11R6/lib/libSM.so.6 (0x411ce000)
         libICE.so.6 => 
/usr/X11R6/lib/libICE.so.6 (0x411d7000)
         libpthread.so.0 => 
/lib/tls/libpthread.so.0 (0x411ee000)
         libXrender.so.1 => 
/usr/lib/libXrender.so.1 (0x411fd000)
         libX11.so.6 => 
/usr/X11R6/lib/libX11.so.6 (0x41206000)
         libutil.so.1 => 
/lib/tls/libutil.so.1 (0x412cd000)
         libz.so.1 => /usr/lib/libz.so.1 
(0x412d0000)
         libfam.so.0 => /usr/lib/libfam.so.0 
(0x412e1000)
         libstdc++.so.5 => 
/usr/lib/libstdc++.so.5 (0x412e9000)
         libm.so.6 => /lib/tls/libm.so.6 
(0x413a2000)
         libc.so.6 => /lib/tls/libc.so.6 
(0x413c6000)
         libgcc_s.so.1 => /lib/libgcc_s.so.1 
(0x41501000)
         libaudio.so.2 => 
/usr/lib/libaudio.so.2 (0x41509000)
         libXt.so.6 => 
/usr/X11R6/lib/libXt.so.6 (0x4151e000)
         libGL.so.1 => 
/usr/lib/tls/libGL.so.1 (0x4156f000)
         libXmu.so.6 => 
/usr/X11R6/lib/libXmu.so.6 (0x415cc000)
         libXcursor.so.1 => 
/usr/lib/libXcursor.so.1 (0x415e3000)
         libXft.so.2 => /usr/lib/libXft.so.2 
(0x415ec000)
         libfreetype.so.6 => 
/usr/lib/libfreetype.so.6 (0x415fe000)
         libfontconfig.so.1 => 
/usr/lib/libfontconfig.so.1 (0x4166b000)
         /lib/ld-linux.so.2 => 
/lib/ld-linux.so.2 (0x80000000)
         libGLcore.so.1 => 
/usr/lib/tls/libGLcore.so.1 (0x41693000)
         libexpat.so.1 => 
/usr/lib/libexpat.so.1 (0x41b48000)


 rilevano nulla di strano.
I pacchetti che sono qui 
http://packages.debian.org/testing/libs/k3blibs
 
sono tutti in versione testing ora?
Controlla bene se le versioni sono quelle indicate.
In un tuo post precedente hai scritto che hai provato a compilare 
qualcosa a mano: c'č forse qualche libreria che hai compilato tu? Magari 
con qualche versione di gcc particolare?
Immagino che disinstallare le k3blibs e reinstallarle non ti abbia dato 
nessun risultato...
Mi spiace non poterti dire di piů, perchč č strano che avendo ora tutto 
testing ti venga fuori quell'errore.
Comunque dall'elenco di dipendenze, mi sembra che non siano tante le 
librerie che riguardano solo k3b e mi sembrano che vengano tutte dal 
pacchetto k3blibs. Dato che non hai problemi con gli altri programmi, 
direi che per forza devono essere quelle a dare i problemi.
Ciao, Paolo