This page answers the most commonly asked questions about Native Client. If you don't find the answer to your question here, please try the [discussion group] (http://groups.google.com/group/native-client-discuss). Also sign up for the announcement group.
Native Client is an open-source research technology from Google for running x86 native code in web applications, with the goal of maintaining the browser neutrality, OS portability, and safety that people expect from web apps.
As this release is mainly intended for the security and research communities, we focused on making them self-contained, and making it build robustly, at the cost of download size. For the “nacl_mac” download, here's what you get (uncompressed sizes):
One download gives you everything you need to try the system, build your own Native Client modules, and even build the SDK, plugins, and secure module container.
Before sending us any code, please sign a Contributor License Agreement (CLA). The CLA protects you and us.
Once you've signed the CLA, you can contribute code by posting the diffs to the [Native Client Discuss group] (http://groups.google.com/group/native-client-discuss).
The short answer is that we intend to support 64-bit Windows, but it‘s going to take some time because our 32-bit Windows solution depends on APIs that aren’t in some 64-bit versions. For the long answer, see the [discussion group post] (http://groups.google.com/group/native-client-discuss/browse_thread/thread/3683b35e9ec74f02).
The allowlist is a precaution while we work on hardening the system and on features that are required for defense in depth. Eventually, you should be able to load Native Client modules from any http URL.
Edit the allowlist in npapi_plugin/origin.cc. For example, if you want to load modules from a Google Code project named kw-test, add http://kw-test.googlecode.com
like this:
bool OriginIsInAllowlist(std::string origin) { static char const *allowed_origin[] = { "http://localhost", "http://localhost:80", "http://localhost:5103", "http://kw-test.googlecode.com", // NEW: ALLOWLIST MY PROJECT'S WEBSITE }; ... }
After modifying the allowlist, rebuild as described in [Building Native Client] (http://nativeclient.googlecode.com/svn/trunk/src/native_client/documentation/building.html), and then reinstall as described in [Getting Started] (http://nativeclient.googlecode.com/svn/trunk/src/native_client/documentation/getting_started.html).
Assuming you've already [installed the plug-in] (http://nativeclient.googlecode.com/svn/trunk/src/native_client/documentation/getting_started.html#plugin), verify that all files required by the plug-in are in place. For example, on Windows three files are required: sel_ldr.exe
, SDL.dll
, and npGoogleNaClPlugin.dll
. See FilesInstalled for details.
See the explanation and workaround in the discussion group: [notes for makefiles, cygwin, and windows] (http://groups.google.com/group/native-client-discuss/browse_thread/thread/a14268f6bd36cb83).
No, not as long as your build finished successfully. This message is generated by our build system and means that an optional component has not been found.