Skip to content

Docker build kube/Dockerfile failed with ### COMPILER BUG DETECTED ### #1917

@zhangxffff

Description

@zhangxffff

Describe the bug

I got this error when rundocker build -t apache/datafusion-comet -f kube/Dockerfile . to build a docker image.

#11 16.43    Compiling untrusted v0.9.0
#11 16.47 warning: aws-lc-sys@0.29.0: Building with: CC
#11 16.47 warning: aws-lc-sys@0.29.0: Symbol Prefix: Some("aws_lc_0_29_0")
#11 16.47 warning: aws-lc-sys@0.29.0: Compilation of 'c11.c' succeeded - Ok(["/comet/native/target/release/build/aws-lc-sys-1ceb091d156fff21/out/out-c11/7dfda64fdf5a526c-c11.o"]).
#11 16.47 warning: aws-lc-sys@0.29.0: Using flag: -ffile-prefix-map=/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.29.0=
#11 16.47 warning: aws-lc-sys@0.29.0: Compilation of 'stdalign_check.c' succeeded - Ok(["/comet/native/target/release/build/aws-lc-sys-1ceb091d156fff21/out/out-stdalign_check/7dfda64fdf5a526c-stdalign_check.o"]).
#11 16.47 warning: aws-lc-sys@0.29.0: Compilation of 'builtin_swap_check.c' succeeded - Ok(["/comet/native/target/release/build/aws-lc-sys-1ceb091d156fff21/out/out-builtin_swap_check/7dfda64fdf5a526c-builtin_swap_check.o"]).
#11 16.47 error: failed to run custom build command for `aws-lc-sys v0.29.0`
#11 16.47 
#11 16.47 Caused by:
#11 16.47   process didn't exit successfully: `/comet/native/target/release/build/aws-lc-sys-13a77c9e6bf3e473/build-script-main` (exit status: 101)
#11 16.47   --- stderr
#11 16.47 
#11 16.47   thread 'main' panicked at /root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.29.0/builder/cc_builder.rs:490:13:
#11 16.47   ### COMPILER BUG DETECTED ###
#11 16.47   Your compiler (cc) is not supported due to a memcmp related bug reported in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189. We strongly recommend against using this compiler. 
#11 16.47   EXECUTED: true
#11 16.47   ERROR: 
#11 16.47   OUTPUT: 
#11 16.47 
#11 16.47   note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
#11 16.47 warning: build failed, waiting for other jobs to finish...
#11 ERROR: process "/bin/sh -c cd native && RUSTFLAGS=\"-Ctarget-cpu=native\" cargo build --release" did not complete successfully: exit code: 101
------
 > [builder  7/21] RUN cd native && RUSTFLAGS="-Ctarget-cpu=native" cargo build --release:

It seems that the aws-lc-sys detect if the compiler contains a memcmp bug, which has already fixed in GCC 10.3 but not in GCC 9.4.0. However, the gcc version used in the docker image is GCC 9.4.0

#11 0.094 g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
#11 0.094 Copyright (C) 2019 Free Software Foundation, Inc.
#11 0.094 This is free software; see the source for copying conditions.  There is NO
#11 0.094 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

aws-lc-sys dependency was introduced by this MR recently
#1817 @Kontinuation

After checkout to the commit before this commit (27aecb6
), docker build also failed caused by no protoc installed

#11 369.9 error: failed to run custom build command for `datafusion-comet-proto v0.9.0 (/comet/native/proto)`
#11 369.9 
#11 369.9 Caused by:
#11 369.9   process didn't exit successfully: `/comet/native/target/release/build/datafusion-comet-proto-6d8696c0607e38ef/build-script-build` (exit status: 1)
#11 369.9   --- stdout
#11 369.9   cargo:rerun-if-changed=src/proto/
#11 369.9 
#11 369.9   --- stderr
#11 369.9   Error: Custom { kind: NotFound, error: "Could not find `protoc`. If `protoc` is installed, try setting the `PROTOC` environment variable to the path of the `protoc` binary. To install it on Debian, run `apt-get install protobuf-compiler`. It is also available at https://github.com/protocolbuffers/protobuf/releases  For more information: https://docs.rs/prost-build/#sourcing-protoc" }
#11 369.9 warning: build failed, waiting for other jobs to finish...
#11 ERROR: process "/bin/sh -c cd native && RUSTFLAGS=\"-Ctarget-cpu=native\" cargo build --release" did not complete successfully: exit code: 101

Steps to reproduce

Just run docker build -t apache/datafusion-comet -f kube/Dockerfile .

Expected behavior

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions