Pagina 1 di 1

problema con applicativi vecchi (libc.so.5)[RISOLTO]

Inviato: gio 7 set 2006, 9:55
da absinthe
salve,

ultimamente a lavoro mi capitano dei problemini gioiosi e inaspettati... l'altro giorno ho scaricato un software da qua:
http://www.nist.gov/speech/tools/index.htm (CMUseg0.5)
si tratta di un segmentatore per tracce audio. l'archivio contiene sia i precompilati che i sorgenti. ho provato a far partire i precompilati ma il sistema non ne voleva sapere... vi posto un pò di dati per avere un'idea (i puntini nel percoso li ho messi io perchè c'era indicato il nome del committente):

Codice: Seleziona tutto

utente@laptop:~/dottorato/.../CMUseg_0.5/CMUseg_0.5/bin/linux$ ls
UTT_Kseg*  UTT_cluster*  UTT_findsil*  UTT_gauss_class*  wave2mfcc*
utente@laptop:~/dottorato/.../CMUseg_0.5/CMUseg_0.5/bin/linux$ wave2mfcc
-bash: ./wave2mfcc: No such file or directory
utente@laptop:~/dottorato/.../CMUseg_0.5/CMUseg_0.5/bin/linux$ ldd wave2mfcc
/usr/bin/ldd: line 124: ./wave2mfcc: No such file or directory
utente@laptop:~/dottorato/.../CMUseg_0.5/CMUseg_0.5/bin/linux$ readelf -d wave2mfcc

Dynamic section at offset 0x301e0 contains 18 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libm.so.5]
 0x00000001 (NEEDED)                     Shared library: [libc.so.5]
 0x0000000c (INIT)                       0x8048fc0
 0x0000000d (FINI)                       0x806d780
 0x00000004 (HASH)                       0x80480e8
 0x00000005 (STRTAB)                     0x8048a1c
 0x00000006 (SYMTAB)                     0x80483fc
 0x0000000a (STRSZ)                      760 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x80790a0
 0x00000002 (PLTRELSZ)                   616 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x8048d4c
 0x00000011 (REL)                        0x8048d14
 0x00000012 (RELSZ)                      56 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x00000000 (NULL)                       0x0
in pratica mi pare di capire che il sistema non vede gli eseguibili (i permessi sono tutti ok!) perchè -vedi readelf- sono compilati con la libc.so.5 :/
ho provato a compilare i sorgenti ma si blocca il tutto con diversi errori.
un paio li ho risolti da solo (si tratta di definizioni contrastanti di variabili e strutture che cozzano tra loro: il sorgenti "dicono" una cosa, le mie libc un'altra...) ma credo che il problema stia proprio nel fatto che il tutto funziona con libc e linker vecchi :(
prima di annoiarvi con gli errori di 'make' sapreste mica dirmi se c'è modo su slack di installare le vecchie libc e relativo linker in un posticino sicuro (magari in /opt) e avviare gli eseguibili indicando che in una data directory ci sono linker e libc vecchie?
ovviamente senza intaccare il funzionamento del resto del sistema...

grazie,
M

Inviato: gio 7 set 2006, 11:54
da useless
dopo un po' di patching selvaggio sono riuscito a compilare tutta sta roba, se mi dai una mail ti mailo gli eseguibili e, se vuoi, anche i sorgenti patchati.

Inviato: gio 7 set 2006, 12:08
da absinthe
perfetto se qualcun'altro ne avesse bisogno adesso mi può contattere!

grazie,
M