为 Chrome 的便携式本机客户端 (PNaCl) 构建错误移植 Eigen3 库

Porting Eigen3 library for Chrome's Portable Native Client (PNaCl) build error

所以我有一个 AWS 实例(免费一级)运行 Ubuntu 16.04。在那里我安装了 nacl_sdk (它正在工作并且允许我成功访问他们的示例站点)和我用来移植 opencv 的 naclports 由于 zlib 的错误我一开始遇到了麻烦但它工作了在我添加 i386 架构并在系统上执行 sudo apt-get update 并安装必要的 i386 程序之后。

注意我也安装了 depot_tools。

现在我也在尝试为 pnacl 安装 eigen3 库,但我遇到了一个错误,我不确定如何理解它,也不知道它是如何构建来修复它的。

我移植 opencv 的命令是

$ NACL_ARCH=pnacl make opencv

我尝试了这两个命令来构建 eigen3,结果相同(如下所示)

$ NACL_ARCH=pnacl make eigen3
$ bin/webports install eigen3

这是终端输出的最后(整条消息很长):

######################################################################
Building eigen3
######################################################################
chdir /home/ubuntu/Work/ExternCode/naclports/src/out/build/eigen3/build_pnacl
make -j1 basicstuff cholesky determinant geo_transformations inverse
Scanning dependencies of target basicstuff
Building CXX object test/CMakeFiles/basicstuff.dir/basicstuff.cpp.o
Linking CXX executable basicstuff
Built target basicstuff
Scanning dependencies of target cholesky
[100%] Building CXX object test/CMakeFiles/cholesky.dir/cholesky.cpp.o
clang: error: unable to execute command: Killed
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 3.7.0 (https://chromium.googlesource.com/a/native_client/pnacl-clang.git cf0dc7f6e6123dfa9b8834b56743315300b34e6c) (https://chromium.googlesource.com/a/native_client/pnacl-llvm.git baa63524b6b493ec2a6aa2c5193d9f25c0c33191)
Target: le32-unknown-nacl
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg: 

test/CMakeFiles/cholesky.dir/build.make:62: recipe for target 'test/CMakeFiles/cholesky.dir/cholesky.cpp.o' failed
make[3]: *** [test/CMakeFiles/cholesky.dir/cholesky.cpp.o] Error 254
CMakeFiles/Makefile2:14386: recipe for target 'test/CMakeFiles/cholesky.dir/all' failed
make[2]: *** [test/CMakeFiles/cholesky.dir/all] Error 2
CMakeFiles/Makefile2:14393: recipe for target 'test/CMakeFiles/cholesky.dir/rule' failed
make[1]: *** [test/CMakeFiles/cholesky.dir/rule] Error 2
Makefile:5128: recipe for target 'cholesky' failed
make: *** [cholesky] Error 2
webports: Build failed: 'eigen3' [pnacl/release]

clang: error: unable to execute command: Killed

看起来您的 AWS 实例 killed clang,所以它可能 运行 内存不足。免费套餐提供 1 MiB 内存,这可能不足以满足您的需求。