【发布时间】:2021-05-31 08:39:38
【问题描述】:
在使用 M1 芯片的 Mac OS BigSur 上构建 docker 映像时出现此错误。
我的尝试:从 docker 站点为 Apple Silicon Graphic M1 安装了 docker
尝试从 Docker 安装 RocksDB 时失败
# docker.local
FROM golang:1.12.4-alpine3.9
RUN apk add bash build-base grep git
# Install RocksDB
RUN apk add coreutils linux-headers perl zlib-dev bzip2-dev lz4-dev snappy-dev zstd-libs zstd-dev && \
cd /tmp && \
wget -O - https://github.com/facebook/rocksdb/archive/v5.18.3.tar.gz | tar xz && \
cd /tmp/rocksdb* && \
make -j $(nproc) install-shared OPT=-g0 USE_RTTI=1 && \
rm -R /tmp/rocksdb* && \
apk del coreutils linux-headers perl
错误:
#6 9.903 cc1plus: error: unknown value 'armv8-a-march=armv8-a' for -march
#6 9.903 cc1plus: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a native
#6 9.906 cc1plus: error: unknown value 'armv8-a-march=armv8-a' for -march
#6 9.906 cc1plus: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a native
#6 9.907 install -d /usr/local/lib
#6 9.908 CC shared-objects/cache/clock_cache.o
#6 9.908 CC shared-objects/cache/lru_cache.o
#6 9.909 CC shared-objects/cache/sharded_cache.o
#6 9.909 for header_dir in `find "include/rocksdb" -type d`; do \
#6 9.909 install -d /usr/local/$header_dir; \
#6 9.909 done
#6 9.911 cc1plus: error: unknown value 'armv8-a-march=armv8-a' for -march
#6 9.911 cc1plus: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a native
#6 9.912 make: *** [Makefile:684: shared-objects/cache/clock_cache.o] Error 1
#6 9.912 make: *** Waiting for unfinished jobs....
#6 9.912 make: *** [Makefile:684: shared-objects/cache/lru_cache.o] Error 1
#6 9.913 make: *** [Makefile:684: shared-objects/cache/sharded_cache.o] Error 1
#6 9.914 for header in `find "include/rocksdb" -type f -name *.h`; do \
#6 9.914 install -C -m 644 $header /usr/local/$header; \
#6 9.914 done
【问题讨论】:
-
惊讶吗? Docker 是一种 Linux 技术,但您在 free-bsd 下运行它,它(主要)是一种 x86 技术,并且您在 ARM 处理器上运行它。你认为 Docker Inc. 是否有时间和金钱来使这样的配置正常工作(尽管在 GA 中)?您认为每个图像都将与 ARM 兼容吗?我知道我的不是,我的一张图片有几百万次下载。您的笔记本电脑是为坐在咖啡店写博客和浏览 facebook 而设计的,当它不与专业的 DevOps 软件一起使用时,人们会感到惊讶。
-
ps:这并不意味着粗鲁——我真的很惊讶你会认为这会很好。
-
@SoftwareEngineer 谢谢,但其他 docker 镜像在相同的环境中运行良好。是的,我很惊讶。
标签: docker compiler-errors apple-m1 rocksdb