Sto tentando di utilizzare crosstools-ng per compilare un programma che utilizza pthread, tuttavia per qualche motivo il linker non riesce a trovare la libreria. Ho controllato e le librerie si trovano nel percorso di collegamento specificato da -L
sono gli argomenti.crosstools-ng non riesce a trovare pthread.so
Ecco l'errore:
/home/***/raspberrypi/toolchain/lib/gcc/arm-unknown-linux-gnueabi/4.6.3/../../../.. /arm-unknown-linux-gnueabi/bin/ld: cannot find /lib/arm-linux-gnueabihf/libpthread.so.0
/home/***/raspberrypi/toolchain/lib/gcc/arm-unknown-linux-gnueabi/4.6.3/../../../../arm-unknown-linux-gnueabi/bin/ld: cannot find /usr/lib/arm-linux-gnueabihf/libpthread_nonshared.a
Perché non è possibile ld trovare il file che si trova all'interno del percorso?
questo file è un collegamento simbolico non funzionante? –
Se aggiungo un collegamento simbolico da/lib/arm-linux-gnueabihf e/usr/lib/arm-linux-gnueabihf lo compila. I collegamenti simbolici nelle directory sono tutti relativi. – John
/usr/lib/libpthread.so dalla tua toolchain è uno script linker. Puoi pubblicare i contenuti di questo file poiché non capisco perché questo è /lib/arm-linux-gnueabihf/libpthread.so.0 invece del normale /lib/libpthread.so.0 –