oceanbase源码编译报错

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】OceanBase_CE 4.2.3.1
【问题描述】编译报错,系统版本为centos7.9
【复现路径】git checkout 4.2.3 && ./build.sh debug --init --make -j5
【附件及日志】
系统信息:
uname -a
Linux localhost.localdomain 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

报错信息:
[ 45%] Built target ob_logservice
[ 45%] Building CXX object src/observer/CMakeFiles/ob_server.dir/Unity/unity_ob_server_virtual_table/0_cxx.cxx.o
[ 48%] Building CXX object src/sql/CMakeFiles/ob_sql.dir/Unity/unity_ob_sql_engine_expr/3_cxx.cxx.o
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang++ -DENABLE_INITIAL_EXEC_TLS_MODEL -DPACKAGE_NAME=“OceanBase_CE” -DPACKAGE_STRING=“OceanBase_CE 4.2.3.1” -DPACKAGE_VERSION=“4.2.3.1” -DRELEASEID=“1” -I/root/oceanbase/src -I/root/oceanbase -I/root/oceanbase/deps/easy/src -I/root/oceanbase/deps/oblib/src -I/root/oceanbase/deps/oblib/src/common -I/root/oceanbase/deps/easy/src/include -I/root/oceanbase/deps/ussl-hook -I/root/oceanbase/deps/ussl-hook/loop -I/root/oceanbase/src/objit/include -I/root/oceanbase/src/objit/src -I/root/oceanbase/deps/3rd/usr/local/oceanbase/deps/devel/include -I/root/oceanbase/deps/3rd/usr/local/oceanbase/deps/devel/include/libxml2 -I/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools -I/root/oceanbase/deps/3rd/usr/local/include -I/root/oceanbase/deps/3rd/usr/include -I/root/oceanbase/deps/3rd/usr/local/oceanbase/deps/devel/include/apr-1 -I/root/oceanbase/deps/3rd/usr/local/oceanbase/deps/devel/include/icu/common -I/root/oceanbase/deps/3rd/usr/local/oceanbase/deps/devel/include/mariadb -I/root/oceanbase/deps/3rd/usr/local/oceanbase/deps/devel/include/oss_c_sdk -I/root/oceanbase/deps/3rd/usr/local/oceanbase/deps/devel/include/mxml -I/root/oceanbase/src/objit/src/…/include --gcc-toolchain=/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools -fdebug-prefix-map=/root/oceanbase=. -fcolor-diagnostics -ffunction-sections -fdebug-info-for-profiling -fmax-type-align=8 -std=gnu++11 -DFATAL_ERROR_HANG -DENABLE_500_MEMORY_LIMIT -DENABLE_LIGHT_BACKTRACE -g -fPIC -Wno-invalid-offsetof -D_GLIBCXX_USE_CXX11_ABI=0 -fno-strict-aliasing -fno-omit-frame-pointer -mtune=core2 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D_NO_EXCEPTION -DTSI_STATIC_SUM -DOCI_LINK_RUNTIME -Wall -Wextra -Wformat -Werror -Wno-deprecated -Wno-address-of-packed-member -Wno-sign-compare -Wno-tautological-compare -Wno-psabi -Wno-c99-designator -Wno-int-in-bool-context -Wno-sizeof-array-div -Wno-implicit-const-int-float-conversion -Wno-fortify-source -Wno-non-c-typedef-for-linkage -Wno-uninitialized-const-reference -Wno-unused-function -Wno-atomic-alignment -Wno-tautological-constant-out-of-range-compare -Wno-unused-parameter -Wno-string-plus-int -Wno-misleading-indentation -Wno-unused-private-field -Wno-overloaded-virtual -Wno-reserved-user-defined-literal -Wno-self-assign -Wno-inconsistent-missing-override -Wno-mismatched-tags -Wno-unused-variable -Wno-unevaluated-expression -Wno-constant-logical-operand -MD -MT src/observer/CMakeFiles/ob_server.dir/Unity/unity_ob_server_virtual_table/0_cxx.cxx.o -MF CMakeFiles/ob_server.dir/Unity/unity_ob_server_virtual_table/0_cxx.cxx.o.d -o CMakeFiles/ob_server.dir/Unity/unity_ob_server_virtual_table/0_cxx.cxx.o -c /root/oceanbase/build_debug/src/observer/CMakeFiles/ob_server.dir/Unity/unity_ob_server_virtual_table/0_cxx.cxx

  1.  <eof> parser at end of file
    
  2.  /root/oceanbase/deps/oblib/src/lib/container/ob_array.h:106:7: instantiating function definition 'oceanbase::common::ObArrayImpl<oceanbase::observer::ObVirtualChannelInfo, oceanbase::common::ObWrapperAllocator, false, oceanbase::common::ObArrayDefaultCallBack<oceanbase::observer::ObVirtualChannelInfo>, oceanbase::common::NotImplementItemEncode<oceanbase::observer::ObVirtualChannelInfo>>::push_back'
    

#0 0x0000000001d0229a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x1d0229a)
#1 0x0000000001d002d4 llvm::sys::RunSignalHandlers() (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x1d002d4)
#2 0x0000000001d00529 llvm::sys::CleanupOnSignal(unsigned long) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x1d00529)
#3 0x0000000001c82aa8 CrashRecoverySignalHandler(int) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x1c82aa8)
#4 0x00007f869aaa5630 __restore_rt (/lib64/libpthread.so.0+0xf630)
#5 0x00000000041bd2c5 (anonymous namespace)::CFGBuilder::VisitDoStmt(clang::DoStmt*) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41bd2c5)
#6 0x00000000041bb3cf (anonymous namespace)::CFGBuilder::Visit(clang::Stmt*, (anonymous namespace)::AddStmtChoice, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41bb3cf)
#7 0x00000000041c05ed (anonymous namespace)::CFGBuilder::VisitCompoundStmt(clang::CompoundStmt*, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41c05ed)
#8 0x00000000041bb2e2 (anonymous namespace)::CFGBuilder::Visit(clang::Stmt*, (anonymous namespace)::AddStmtChoice, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41bb2e2)
#9 0x00000000041bde69 (anonymous namespace)::CFGBuilder::VisitIfStmt(clang::IfStmt*) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41bde69)
#10 0x00000000041ba76a (anonymous namespace)::CFGBuilder::Visit(clang::Stmt*, (anonymous namespace)::AddStmtChoice, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41ba76a)
#11 0x00000000041c05ed (anonymous namespace)::CFGBuilder::VisitCompoundStmt(clang::CompoundStmt*, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41c05ed)
#12 0x00000000041bb2e2 (anonymous namespace)::CFGBuilder::Visit(clang::Stmt*, (anonymous namespace)::AddStmtChoice, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41bb2e2)
#13 0x00000000041c2091 clang::CFG::buildCFG(clang::Decl const*, clang::Stmt*, clang::ASTContext*, clang::CFG::BuildOptions const&) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41c2091)
#14 0x00000000041a8504 clang::AnalysisDeclContext::getCFG() (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x41a8504)
#15 0x0000000004139057 clang::sema::AnalysisBasedWarnings::IssueWarnings(clang::sema::AnalysisBasedWarnings::Policy, clang::sema::FunctionScopeInfo*, clang::Decl const*, clang::QualType) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x4139057)
#16 0x00000000038cdac5 clang::Sema::PopFunctionScopeInfo(clang::sema::AnalysisBasedWarnings::Policy const*, clang::Decl const*, clang::QualType) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x38cdac5)
#17 0x0000000003a37f02 clang::Sema::ActOnFinishFunctionBody(clang::Decl*, clang::Stmt*, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x3a37f02)
#18 0x00000000040b8266 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x40b8266)
#19 0x00000000040b67cf clang::Sema::PerformPendingInstantiations(bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x40b67cf)
#20 0x00000000038d5694 clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x38d5694)
#21 0x00000000038d6131 clang::Sema::ActOnEndOfTranslationUnit() (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x38d6131)
#22 0x00000000037ca2b1 clang::Parser::ParseTopLevelDecl(clang::OpaquePtrclang::DeclGroupRef&, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x37ca2b1)
#23 0x00000000037bd0f1 clang::ParseAST(clang::Sema&, bool, bool) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x37bd0f1)
#24 0x0000000002bcbf46 clang::CodeGenAction::ExecuteAction() (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x2bcbf46)
#25 0x00000000025798c1 clang::FrontendAction::Execute() (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x25798c1)
#26 0x000000000252f17b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x252f17b)
#27 0x0000000002641f61 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x2641f61)
#28 0x0000000000c4144a cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0xc4144a)
#29 0x0000000000c3fe2e ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0xc3fe2e)
#30 0x00000000023fa635 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optionalllvm::StringRef >, std::string*, bool*) const::‘lambda’()>(long) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x23fa635)
#31 0x0000000001c82ba3 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x1c82ba3)
#32 0x00000000023fc43d clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optionalllvm::StringRef >, std::string*, bool*) const (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x23fc43d)
#33 0x00000000023d041a clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x23d041a)
#34 0x00000000023d0d49 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x23d0d49)
#35 0x00000000023d82b3 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0x23d82b3)
#36 0x0000000000bd5066 main (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0xbd5066)
#37 0x00007f8699b9c555 __libc_start_main (/lib64/libc.so.6+0x22555)
#38 0x0000000000c3dfce _start (/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin/clang+++0xc3dfce)
clang-11: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 11.0.1 (git@gitlab.alibaba-inc.com:oceanbase-ce-publish/ob-deps.git 0235b6078aa2a9f8dc8f65ec5e94ce5d1394f022)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /root/oceanbase/deps/3rd/usr/local/oceanbase/devtools/bin
clang-11: note: diagnostic msg:


PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-11: note: diagnostic msg: /tmp/0_cxx-42e109.cpp
clang-11: note: diagnostic msg: /tmp/0_cxx-42e109.sh
clang-11: note: diagnostic msg:


make[2]: *** [src/observer/CMakeFiles/ob_server.dir/Unity/unity_ob_server_virtual_table/0_cxx.cxx.o] Error 254
make[2]: *** Waiting for unfinished jobs…
[ 48%] Linking CXX static library libob_sql_server_parser_static.a
[ 48%] Built target ob_sql_server_parser_static
[ 48%] Building CXX object src/storage/CMakeFiles/ob_storage.dir/Unity/unity_ob_storage_ddl/0_cxx.cxx.o
make[1]: *** [src/observer/CMakeFiles/ob_server.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[ 48%] Building CXX object src/storage/CMakeFiles/ob_

没有比较明显的错误,cpu是什么架构?

uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

用的是自带的glibc,是不是自带的版本太低了2.27

我联系对这块比较熟悉的同学看下

编译器自己挂了。
重试过吗?编译器总会在执行这个命令的时候Core吗?

是的,我用那个dockerhub上面的centos7编译oceanbase3.1也会有这个错误。以前是能编译过的

这是我的环境上的libc版本信息,我的机器是centos7

/usr/lib64/libc.so.6 -V
GNU C Library (GNU libc) stable release version 2.17, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.8.5 20150623 (Red Hat 4.8.5-28).
Compiled on a Linux 3.10.0 system on 2019-03-18.
Available extensions:
	The C stubs add-on version 2.1.2.
	crypt add-on version 2.1 by Michael Glad and others
	GNU Libidn by Simon Josefsson
	Native POSIX Threads Library by Ulrich Drepper et al
	BIND-8.2.3-T5B
	RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

你的机器上libc是什么版本?是否升级过libc?

没有 一样的,可以用dockerhub上面oceanbase里面那个centos7 可以复现的,感觉可能是缺了啥软件,
我是按照下面这文档来的
https://oceanbase.github.io/oceanbase/zh/toolchain/

你好,我们按照这个文档编译未能复现出来这个问题,你这里可以再次复现出来吗?有没有core或其它报错信息?



image
image