【问题标题】:How to fix make errors on ubuntu 16.04如何修复 ubuntu 16.04 上的错误
【发布时间】:2020-12-15 13:06:41
【问题描述】:

尝试在 ubuntu:16.04 上 dockerize bitcoin-sv,但在最后一步出现错误。 一段 Dockerfile :

RUN mkdir boost \
    && cd boost \
    && wget https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz \
    && tar -xzvf boost_1_70_0.tar.gz \
    && cd boost_1_70_0 \
    && ./bootstrap.sh \
    && ./b2 \
    && ./b2 install \
    && cd ../../ \
    && git clone https://github.com/bitcoin-sv/bitcoin-sv \
    && cd bitcoin-sv \
    && ./autogen.sh \
    && mkdir build \
    && cd build \
    && ../configure \
    && make <------------- error on this final step

错误:

Makefile:4415: recipe for target 'rpc/libbitcoin_cli_a-client.o' failed
make[2]: *** [rpc/libbitcoin_cli_a-client.o] Error 1
make[2]: Leaving directory '/bitcoin-sv/build/src'
Makefile:8455: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/bitcoin-sv/build/src'
Makefile:660: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

阅读here 可能是内存不足。如何解决?

又记录了一个错误。 docker 机器内存不足

../../src/validation.cpp:4046:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 cacheSize > std::max(static_cast<uint64_t>((9 * nTotalSpace) / 10),
                 ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      nTotalSpace - MAX_BLOCK_COINSDB_USAGE * ONE_MEBIBYTE);
                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++: internal compiler error: Killed (program cc1plus)

【问题讨论】:

  • 您发布的日志中没有有用的错误信息,因此任何尝试回答都将是猜测。日志中是否有更多关于在这一点之上出了什么问题的详细信息?如果没有,你能用更详细的输出重建吗?
  • 问题正文已更新
  • 你的make文件在哪里?

标签: docker ubuntu-16.04


【解决方案1】:

错误 g++: internal compiler error: Killed (program cc1plus) 几乎总是由于内存太少 - 正如 Jon 在 StackOverflow post 中更全面地解释的那样。

在 ubuntu 上运行(不是指在 ubuntu 上的虚拟机中)你的机器可能内存不足,因为据我所知,docker 可以访问 Linux 主机的整个内存。如果在虚拟机中运行,请确保它有足够的可用内存,反过来它也可供 docker 使用。

对于 macOS 或 Windows,您可以通过关注 Roberts answer 的 StackOverflow 问题(措辞不完全正确)“如何为 docker 分配更多内存”,轻松管理 docker 可用的资源(假设仍有资源剩余)容器'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 2018-04-05
    相关资源
    最近更新 更多