crosstools-ng nicht finden können pthread.so

Ich versuche, mit crosstools-ng zum kompilieren ein Programm, das mit pthread, aber für einige Grund der linker nicht finden können, die Bibliothek. Ich habe überprüft, und die Bibliotheken sind in der link-Pfad specificed von -L ist die Argumente.

Hier ist der Fehler:

/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

Warum kann nicht ld finden die Datei im Pfad?

  • ist die Datei a broken symlink?
  • Wenn ich einen symlink von /lib/arm-linux-gnueabihf und /usr/lib/arm-linux-gnueabihf es kompiliert. Die symlinks in den Verzeichnissen sind alle relativ.
  • /usr/lib/libpthread.also von deiner toolchain ist ein linker-Skript. Kannst du den Inhalt dieser Datei, da ich verstehe es nicht, warum ist das in /lib/arm-linux-gnueabihf/libpthread.so.0 statt der regulären /lib/libpthread.so.0
  • Ich bin mir nicht sicher was du meinst mit "/usr/lib/libpthread.also von deiner toolchain". Es ist eine Datei in diesem Pfad unter "toolchain" rootfs.
  • Ja, es sollte eine Datei mit diesem Pfad in die toolchain-sysroot.
  • Yup, es ist es aber für einige Grund es nicht sehen, es ohne einen symbolischen Link aus dem Verzeichnis system /lib/arm-linux-gnueabihf und /usr/lib/arm-linux-gnueabihf in die sysroot Verzeichnis. Das hat meine wirklich verwirrt, weil es nimmt andere libs richtig.
  • Sorry ich war nicht klar, ich denke über die folgende Datei: /home/***/raspberrypi/toolchain/arm-unknown-linux-gnueabi/sysroot/arm-unknown-linux-gnueabi/usr/lib/libpthread.so (standard-installation mit crosstool-ng). Hast du diese Datei?

InformationsquelleAutor John | 2013-01-08
Schreibe einen Kommentar