为树莓派交叉编译RethinkDB

6

我目前正在运行Ubuntu 14.04 x86_64系统。出于实验目的,我希望为我的Raspberry Pi交叉编译rethinkdb。在版本1.12中,这种编译方式得到了支持,并且有人已经成功地进行了编译。

我已安装了工具链:

sudo apt-get install g++-4.7-arm-linux-gnueabi gcc-arm-linux-gnueabi

export CXX=/usr/bin/arm-linux-gnueabi-g++-4.7
export CC=/usr/bin/arm-linux-gnueabi-gcc-4.7
export AR=/usr/bin/arm-linux-gnueabi-ar
export LD=/usr/bin/arm-linux-gnueabi-ld

配置运行:

./configure --ccache --allow-fetch --without-tcmalloc
* Detecting system configuration
Bash:                           4.3.8(1)-release
Use ccache:                     yes
C++ Compiler:                   GCC 4.7 (/usr/bin/arm-linux-gnueabi-g++-4.7)
Host System:                    arm-linux-gnueabi
Build System:                   Linux 3.13.0-24-generic x86_64
Cross-compiling:                yes
Host Operating System:          Linux
Without tcmalloc:               yes
Build client drivers:           no
Build Architecture:             x86_64
Precompiled web assets:         no
Protobuf compiler:              /usr/bin/protoc
Node.js package manager:        /usr/bin/npm
LESS css:                       external/less_1.6.2
CoffeeScript:                   external/coffee-script_1.7.1
Handlebars:                     external/handlebars_1.3.0
Browserify:                     external/browserify_3.24.13
ProtoBuf.js:                    external/protobufjs_2.0.4
wget:                           /usr/bin/wget
curl:                           /usr/bin/curl
protobuf:                       external/protobuf_2.5.0
v8:                             external/v8_3.22.24.17
RE2:                            external/re2_20140111
z:                              external/zlib_1.2.8
Google Test:                    external/gtest_1.6.0
termcap:                        no
Test protobuf:                  external/protobuf_2.5.0
Test boost:                     external/boost_1.55.0
Installation prefix:            /usr/local
Configuration prefix:           /usr/local/etc
Runtime data prefix:            /usr/local/var
* Warning: ARM support is still experimental
* Wrote configuration to config.mk

然而,make 失败了。
/bin/bash: ccache: command not found

有什么指导让这个工作起来吗?

也许您可以配置--without-ccache或类似的选项进行配置。./configure --help可能会显示这些选项。或者尝试使用apt安装ccache。 - hetepeperfan
2个回答

5

有没有任何指针来让这个工作起来?

只需安装ccache。即使您没有此问题,它也会在嵌入式系统上加快编译速度。我们公司也在使用它,顺便说一下,即使最终使用了icecream。

sudo apt-get install ccache

1
目前交叉编译RethinkDB到树莓派的实际状态比较复杂。看起来这个项目已经不再维护,而且多年来设置起来变得很复杂。但是只要付出一点努力就可以做到。这需要深入研究基于传统makefile的RethinkDB构建框架......
你可以在这里找到一个尝试实现该过程的Dockerfile。它基本上创建了一个包含所有依赖项(特别是交叉编译器)的Docker容器,修改配置并构建RethinkDB。结果是RethinkDB的树莓派软件包。
你可以直接使用它,或者查看它并在自己的系统上复制它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接