Próbuję użyć crosstools-ng do kompilacji programu, który używa pthread, jednak z jakiegoś powodu linker nie może znaleźć biblioteki. Sprawdziłem i biblioteki znajdują się w ścieżce łącza określonej przez -L
jest argumenty.crosstools-ng nie można znaleźć pthread.so
Tutaj jest błąd:
/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
Dlaczego nie można ld znaleźć plik, który jest w drodze?
czy to jest zepsute dowiązanie symboliczne? –
Jeśli dodaję dowiązanie symboliczne z/lib/arm-linux-gnueabihf i/usr/lib/arm-linux-gnueabihf, to kompiluje. Dowiązania symboliczne w katalogach są względne. – John
/usr/lib/libpthread.so z twojego toolchain jest skryptem linkera. Czy możesz opublikować zawartość tego pliku, ponieważ nie rozumiem, dlaczego jest to /lib/arm-linux-gnueabihf/libpthread.so.0 zamiast zwykłego /lib/libpthread.so.0 –