1. 前言
前天早上开会还说这个 envoy 1.16 不知道什么时候发布,我们需要的几个新特性都在这个版本中,今天一看已经发布了,所以今天又测试了一波 1.16 上的例子。
2. 使用官方 docker 编译镜像来编译
从 envoy 1.16 开始发现 gcc 7.5 的版本已经无法编译通过了,从其官网推荐来说是要 gcc 9 以上或者要 clang 10 以上。
2.1 查看 docker 镜像
可以用于编译的是 envoyproxy/envoy-build-ubuntu
这个镜像。
root@VM-144-184-ubuntu:/data/home/ubuntu# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
envoyproxy/envoy-dev latest 317be1534a57 4 days ago 129MB
envoyproxy/envoy-build-ubuntu b480535e8423b5fd7c102fd30c92f4785519e33a 7757d8081892 8 days ago 3.8GB
envoyproxy/envoy-build latest 96175ccf21e5 14 months ago 1.16GB
root@VM-144-184-ubuntu:/data/home/ubuntu#
2.2 查看 gcc 版本
进入镜像后可以看一下 gcc 的版本号,这个镜像使用的是 9.3 的 gcc。
root@VM-144-184-ubuntu:/data/home/ubuntu# docker run -t -i 7757d8081892 /bin/bash
root@0bef984284ca:/# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-11ubuntu0~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c+&