Ich möchte mit Googles Native Client SDK spielen, also habe ich das Tool heruntergeladen, um es zu installieren und installiert pepper_46
, und versuchte, das Projekt "Erste Schritte" zu erstellen, und ich erhielt die folgende Antwort.
rob@asmodeus:~/Downloads/nacl_sdk/pepper_46/getting_started$ make serve
make -C part1 all
make[1]: Entering directory '/home/rob/Downloads/nacl_sdk/pepper_46/getting_started/part1'
/home/rob/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/bin/pnacl-clang++ -o hello_tutorial.bc hello_tutorial.cc -O2 -I/home/rob/Downloads/nacl_sdk/pepper_46/include -L/home/rob/Downloads/nacl_sdk/pepper_46/lib/pnacl/Release -lppapi_cpp -lppapi
[Errno 8] Exec format error
Command was: /home/rob/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/bin/clang \
--driver-mode=g++ \
-emit-llvm \
-c -O2 \
-fno-vectorize \
-fno-slp-vectorize \
-fno-common \
-nostdinc \
-target \
le32-unknown-nacl \
-I/home/rob/Downloads/nacl_sdk/pepper_46/include \
-isystem \
/home/rob/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/le32-nacl/usr/include \
-isystem \
/home/rob/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/lib/clang/3.7.0/include \
-isystem \
/home/rob/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/le32-nacl/include/c++/v1 \
-isystem \
/home/rob/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/le32-nacl/include \
-isystem \
/home/rob/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/sdk/include \
-xc++ \
hello_tutorial.cc \
-o /home/rob/Downloads/nacl_sdk/pepper_46/getting_started/part1/hello_tutorial.bc---hello_tutorial.cc---.po
Makefile:50: recipe for target 'hello_tutorial.bc' failed
make[1]: *** [hello_tutorial.bc] Error 1
make[1]: Leaving directory '/home/rob/Downloads/nacl_sdk/pepper_46/getting_started/part1'
Makefile:54: recipe for target 'part1_ALL_TARGET' failed
make: *** [part1_ALL_TARGET] Error 2
rob@asmodeus:~/Downloads/nacl_sdk/pepper_46/getting_started$
Soweit ich das beurteilen kann, sind die relevanten Teile [Errno 8] Exec format error
und Command was: /home/rob/.../bin/clang
. Nach einigem Nachforschen habe ich das gefunden.
rob@asmodeus:~/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/bin$ file clang
clang: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=a828789c24cefbb485103da1bf609d35e447dda2, stripped
rob@asmodeus:~/Downloads/nacl_sdk/pepper_46/toolchain/linux_pnacl/bin$
Der besorgniserregende Teil davon ist "x86-64", da mein System ein einfaches x86-System ist! Auf der Google-Seite zur Installation des SDK wird angegeben, dass x86-32 unterstützt wird, es wird jedoch keine Vorgehensweise angegeben. Außerdem konnte ich nirgendwo 32-Bit-Binärdateien oder eine Möglichkeit zu deren Installation finden. Wie rufe ich einen 32-Bit-Satz dieser Dateien ab?
quelle
Antworten:
Nach weiteren Nachforschungen habe ich festgestellt, dass Google x86-32 für NaCl zwar staatlich unterstützt, für das SDK jedoch nicht.
quelle