01 agosto 2005

Errore libc

Finalmente una soluzione per le installazioni dei prodotti Oracle per evitare l'errore symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference. È una patch oracle, precisamente la 3006854.
In sostanza riguarda il problema dell'avvio dei vari eseguibili sotto Linux, con l'errore relativo al simbolo __libc_wait, non presente nella glibc più aggiornata.
Di solito il problema si può aggirare con la variabile d'ambiente:
export LD_ASSUME_KERNEL=2.4
se no si utilizza la patch 3006854, che trovate anche sul mio sito (Linux i386, ovviamente).
Detta patch compila al volo uno shared object (.so) che poi inserisce nell'elenco delle librerie da precaricare prima dell'esecuzione di qualsiasi programma: /etc/ld.so.preload; penso che sarebbe possibile anche sfruttare la variabile d'ambiente LD_PRELOAD solo per l'utente oracle, se proprio necessario.
Un'altro trucco molto efficace riguarda quello per l'errore sul ctype, ma ora non riesco più a trovare i riferimenti. Comunque, dopo avere compilato un piccolo sorgente C (ctype.o), lo si include con ar nella libreria $ORACLE_HOME/lib/libcore8.a, ricompilando poi la libreria client condivisa con genclntsh oppure relink <opzione>.
Cercherò tutti i link e li pubblicherò.

Nessun commento: