下午在编译 grpc时报错如下:
utilities/blob_db/blob_log_reader.cc:74:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
       next_byte_ += kb_size;
       ~~~~~~~~~~~^~~~~~~~~~
utilities/blob_db/blob_log_reader.cc:76:5: note: here
     case kReadHeaderKey:
     ^~~~
utilities/blob_db/blob_log_reader.cc:94:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
       next_byte_ += record->GetBlobSize();
       ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
utilities/blob_db/blob_log_reader.cc:96:5: note: here
     case kReadHeaderKeyBlob:
     ^~~~
cc1plus: all warnings being treated as errors
Makefile:1813: recipe for target 'utilities/blob_db/blob_log_reader.o' failed
make: *** [utilities/blob_db/blob_log_reader.o] Error 1
make: *** Waiting for unfinished jobs....
CMake Warning at CMakeLists.txt:122 (message):
  gRPC_INSTALL will be forced to FALSE because gRPC_ZLIB_PROVIDER is "module"
CMake Error at third_party/boringssl/CMakeLists.txt:30 (message):
  Could not find Go
-- Configuring incomplete, errors occurred!
See also "/home/zhang/paxosstore/certain/third/grpc/CMakeFiles/CMakeOutput.log".
See also "/home/zhang/paxosstore/certain/third/grpc/CMakeFiles/CMakeError.log".
[MAKE]    Generating cache.mk
[AR]      Creating /home/zhang/paxosstore/certain/third/grpc/libs/opt/libgpr.a
[C]       Compiling third_party/boringssl/crypto/bio/fd.c
[C]       Compiling third_party/boringssl/crypto/bio/file.c
[C]       Compiling third_party/boringssl/crypto/bn/add.c
[C]       Compiling third_party/boringssl/crypto/bn/asm/x86_64-gcc.c
third_party/boringssl/crypto/bio/file.c: In function ‘file_ctrl’:
third_party/boringssl/crypto/bio/file.c:186:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
       num = 0;
       ~~~~^~~
third_party/boringssl/crypto/bio/file.c:187:5: note: here
     case BIO_C_FILE_SEEK:
     ^~~~
third_party/boringssl/crypto/bio/fd.c: In function ‘fd_ctrl’:
third_party/boringssl/crypto/bio/fd.c:192:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
       num = 0;
       ~~~~^~~
third_party/boringssl/crypto/bio/fd.c:193:5: note: here
     case BIO_C_FILE_SEEK:
解决方法如下:
make CFLAGS='-Wno-implicit-fallthrough'
参考:[NEW] gcc 7 and -Werror=implicit-fallthrough · Issue #13854 · grpc/grpc
文档信息
- 本文作者:last2win
 - 本文链接:https://last2win.com/2019/07/24/bug/
 - 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)