2012-05-25 22 views
7

Attualmente ho glibc che non supporta epoll, quindi ho installato nuovo glibc su una non predefinita che supporta epoll. Ho un programma Python che usa questo epoll.usa la versione diversa di glibc

ho cercato di impostare LD_LIBRARY_PATH

export LD_LIBRARY_PATH="/home/glibc/lib:$LD_LIBRARY_PATH"

poi corro ls, mi ha dato errori

ls: /home/glibc/lib/tls/libc.so.6: version 'GLIBC_2.4' not found (required by /lib/libpam.so.0)

ls: /home/glibc/lib/tls/libc.so.6: version 'GLIBC_2.4' not found (required by /lib/libpam_misc.so.0)

anche quando ho provato a correre python ho ottenuto

python: relocation error: /home/glibc/lib/tls/libc.so.6: symbol _dl_out_of_memory, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference

Come posso utilizzare glibc appena installato anziché quello predefinito?

+0

http://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host –

risposta

0

è necessario utilizzare un'invocazione esplicita del linker dinamico, quindi qualcosa di simile:

/home/glibc/lib/ld-linux-x86-64.so.2 --library-path /home/glibc/lib /usr/bin/python 

(Ma il fatto che la versione GLIBC_2.4 simbolo non è disponibile suggerisce che c'è qualcosa di molto sbagliato con la nuova glibc , o in realtà non è affatto nuovo, prima di glibc 2.4.)

0

Se hai compilato glibc da te dovresti avere script testrun.sh nella tua directory di build. Questo è più semplice e più affidabile rispetto all'utilizzo ld-linux.so:

build/testrun.sh ls 
Problemi correlati