Образцы не работают в Google NaCl rev 18 - PullRequest
2 голосов
/ 11 марта 2012

Я пытаюсь использовать последнюю версию Google NaCl SDK. Следуя инструкциям на https://developers.google.com/native-client/pepper18/devguide/tutorial

Я скачал инструмент naclsdk с их сайта, запустил обновление и получил папку pepper_18.

Я установил NACL_SDK_ROOT в папку pepper_18, зашел в «примеры» и запустил make. Казалось, что все компилируется просто отлично.

Я запустил Chrome, посмотрел about: flags и about: plugins и убедился, что NaCl включен. Я установил приложение Примеры SDK (от: https://developers.google.com/native-client/pepper18/sdk/examples), и это прекрасно работает.

Затем я попытался запустить мои локально собранные и размещенные примеры, перейдя к http://localhost: 5301. HTML-код загружается нормально, но содержимое NaCl не загружается. В примерах "Hello World" написано "Status: LOADING ..." навсегда.

Я дважды проверил логи HTTP-сервера и не вижу там никаких ошибок. Есть ли другое место, где я должен искать зарегистрированные ошибки?

Ответы [ 3 ]

2 голосов
/ 11 марта 2012

Проверка на несоответствие версий

В Chrome перейдите к about: version и убедитесь, что основная версия Chrome соответствует версии Pepper, которую вы использовали для создания примеров.

Проверьте консоль JavaScript в Chrome на наличие ошибок

Вы можете найти его, щелкнув значок гаечного ключа в верхнем правом углу Chrome и выбрав Инструменты -> Консоль JavaScript.

Проверьте модуль NaCl для получения дополнительной информации

В консоли JavaScript вы также можете проверить элемент embed модуля NaCl. Например, если тег для вставки имеет id="nacl_module", вы можете проверить его, набрав

theModule = document.getElementById ('nacl_module');

theModule.lastError;

Проверьте вывод Chrome на stdout / stderr

На Mac или Linux запустите Chrome из терминала и посмотрите на вывод на консоли. Например, на Mac вы обычно идете

/ Приложения / Google \ Chrome.app/Contents/MacOS/Google \ Chrome --enable-nacl

В Windows Chrome не пишет в терминал, если запущен из командной строки. По этой причине вам нужно перенаправить stdout / stderr из Chrome, установив переменные среды NACLLOG, NACL_EXE_STDOUT и NACL_EXE_STDERR. Укажите их на различных файлов, например,

NACLLOG = c: \ my_project \ nacl.log

NACL_EXE_STDOUT = c: \ my_project \ nacl_stdout.log

NACL_EXE_STDERR = c: \ my_project \ nacl_stderr.log

Затем (повторно) запустите Chrome (убедившись, что эти переменные среды действуют).

Подключить отладчик

Инструкции по использованию поддержки отладки (в настоящее время только 64-битная Windows и 64-битная Linux) доступны по адресу https://developers.google.com/native-client/pepper18/beta-docs/debugging.

Перезапуск Chrome означает закрытие всех окон

При разработке для Native Client часто перезагружается Chrome. Важно закрыть все окна Chrome; в противном случае он фактически не перезапустился.

1 голос
/ 06 февраля 2014

Я запутался в нескольких проблемах, которые я опишу на случай, если они помогут другим:

  • Пропустил «создание» примеров (получил подсказку, чтобы сделать их из описания автора).
  • Chrome не позволил бы мне запускать не-магазинные приложения Chrome.Пошёл на chrome://flags и включил Native Client и Native Client GDB-based debugging.
  • Консоль JavaScript сказала, что файл nmf демо в каталоге ... / debug / отсутствует.Я изменил make config для сборки Debug вместо Release на основе this .
  • Консоль Chrome пожаловалась на NativeClient: NaCl module load failed: ServiceRuntime: failed to start; NaCl's GDB debug stub requires --no-sandbox flag on Windows. See crbug….Пробовал запускать Chrome из cmd с --no-sandbox.Это приводит к предупреждению You are using an unsupported command-line flag: --nosandbox. Stability and security will suffer. Вышеупомянутая ошибка исчезла, но примеры все равно не запустились - без пользовательского интерфейса.
  • Вернулся к chrome://flags и отключен Native Client GDB-based debugging.

Тогда большинство примеров сработало.Google Drive демо жалуется Error: must be run as a packged app.

0 голосов
/ 12 марта 2012

Вы подтвердили, что запустили httpd.py из папки с примерами?Этот скрипт создает сервер localhost: 5103, с которого можно запускать приложения.

Кроме того, какую ОС вы используете?

~ Main

...