2014-02-08 4 views
0

Я все еще пытаюсь построить примеры. Процесс clang всегда терпит неудачу и возвращается 127.Не удается построить примеры NaCl в Cygwin

/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/host_x86_32/bin/clang.exe \ 
    -c testing.cc -Wall \ 
    -I/home/ned/nacl_sdk/pepper_canary/include \ 
    -I/home/ned/nacl_sdk/pepper_canary/include/pnacl 

Это не производит никакой диагностики и не создает никакого выхода.

Я бегу в Cygwin.

Приведенный выше пример упрощен. Если добавить диагностику в driver_tools.py, я вижу приведенные ниже аргументы, когда я запускаю Makefile верхнего уровня в примерах. Если я запустил эту полную команду, она все равно терпит неудачу.

ARGS[0]: /cygdrive/c/cygwin/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/host_x86_32/bin/clang.exe 
ARGS[1:] -ccc-cxx \ 
-help \ 
-emit-llvm \ 
-c -O2 \ 
-fno-vectorize \ 
-fno-slp-vectorize \ 
-fno-common \ 
-pthread \ 
-nostdinc \ 
-target \ 
le32-unknown-nacl \ 
-g -MMD \ 
-DNDEBUG \ 
-Wall \ 
-Wno-sign-compare \ 
-I/home/ned/nacl_sdk/pepper_canary/include \ 
-I/home/ned/nacl_sdk/pepper_canary/include/pnacl \ 
-Wno-long-long \ 
-Werror \ 
-isystem \ 
/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/usr/local/include \ 
-isystem \ 
/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/host_x86_32/lib/clang/3.3/include \ 
-isystem \ 
/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/usr/include/c++/v1 \ 
-isystem \ 
/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/usr/include/c++/v1/arm-none-linux-gnueabi \ 
-isystem \ 
/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/usr/include/c++/v1/backward \ 
-isystem \ 
/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/usr/include \ 
-isystem \ 
/home/ned/nacl_sdk/pepper_canary/toolchain/win_pnacl/sdk/include \ 
-xc++ \ 
testing.cc \ 
-o pnacl/Release/testing.o 
Return Code: 127 

ответ

2

PNaCl Набор инструментов уже включает в себя биты и куски Cygwin и разные версии Cygwin несовместимы.

Вы можете найти и удалить cygwin1.dll из PNaCl SDK, но в целом Cygwin не поддерживается. Вы должны либо использовать обычные инструменты Windows, либо Mac/Linux. Я проследил его до неправильной версии cygstdC++ - 6.dll.

Что для меня работало: с использованием cygwin make и python, но построение в оболочке DOS cmd. Я добавил% NACL_SDK_ROOT%/toolchain/win_pnacl/bin в PATH до C:/cygwin/bin, поэтому с clang использовались dll pnacl (например, cygstdC++ - 6.dll). Варианты cygwin этих dll вызвали clang, чтобы потерпеть неудачу.

Я взломал драйвер_tools.py, потому что инструменты для установки DRIVER_BIN не выполнялись. Они создали путь, который был конкатенацией двух полных путей. Я не пытался исправить эти функции. Я просто устанавливаю DRIVER_BIN/DRIVER_PATH в моей среде, и я ссылался на эту переменную в файле driver_tools.py.

PATH=${PATH}:/cygdrive/c/cygwin/home/ned/nacl_sdk/pepper_31/toolchain/win_pnacl/bin:/cygdrive/c/cygwin/bin 

NACL_SDK_ROOT=C:/cygwin/home/ned/nacl_sdk/pepper_31 

DRIVER_BIN=C:/cygwin/home/ned/nacl_sdk/pepper_31/toolchain/win_pnacl/bin/ 

DRIVER_PATH=C:/cygwin/home/ned/nacl_sdk/pepper_31/toolchain/win_pnacl/bin/ 

NACL_ARCH=pnacl 

TOOLCHAIN=pnacl 
Смежные вопросы