brpc icon indicating copy to clipboard operation
brpc copied to clipboard

sizeof(Butex) == BAIDU_CACHELINE_SIZE static assertion failed

Open sepcity opened this issue 7 months ago • 1 comments

Describe the bug (描述bug) when i build brpc-1.9.0 on openEuler-22.03SP3 aarch64 i got these errors

/usr/local/gcc-13.3.0/bin/g++ -c -I./src -I/hst/fsp_third_party/output/gflags/include/ -I/hst/fsp_third_party/output/leveldb/include/ -I/hst/fsp_third_party/output/openssl/include/ -I/hst/fsp_third_party/output/protobuf/include/ -I/hst/fsp_third_party/output/zlib/include/ -DGFLAGS_NS=google -fPIC src/bthread/butex.cpp -o src/bthread/butex.o In file included from ./src/butil/atomicops.h:34, from src/bthread/butex.cpp:22: src/bthread/butex.cpp:128:29: error: static assertion failed: butex_fits_in_one_cacheline 128 | BAIDU_CASSERT(sizeof(Butex) == BAIDU_CACHELINE_SIZE, butex_fits_in_one_cacheline); ./src/butil/macros.h:175:48: note: in definition of macro 'BAIDU_CASSERT' 175 | #define BAIDU_CASSERT(expr, msg) static_assert(expr, #msg) | ^~~~ src/bthread/butex.cpp:128:29: note: the comparison reduces to '(128 == 64)' 128 | BAIDU_CASSERT(sizeof(Butex) == BAIDU_CACHELINE_SIZE, butex_fits_in_one_cacheline); ./src/butil/macros.h:175:48: note: in definition of macro 'BAIDU_CASSERT' 175 | #define BAIDU_CASSERT(expr, msg) static_assert(expr, #msg) | ^~~~ make: *** [Makefile:305: src/bthread/butex.o] Error 1

To Reproduce (复现方法) ./config_brpc.sh make CXXFLAGS="-DGFLAGS_NS=google -fPIC"

Expected behavior (期望行为) build succeed

Versions (各种版本) OS:openEuler-22.03SP3 Compiler:gcc-13.3 brpc:1.9.0 protobuf:3.2.0

Additional context/screenshots (更多上下文/截图)

sepcity avatar Jul 17 '24 12:07 sepcity