ubuntu 22.04 编译源码链接过程出错 ld.lld: error: undefined symbol: pthread_mutexattr_setrobust_np

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】编译最新源码
【问题描述】ubuntu 22.04 无法成功编译源码
【复现路径】源码编译
【附件及日志】[100%] Linking CXX shared library libobcdc.so
ld.lld: error: undefined symbol: pthread_mutexattr_setrobust_np

referenced by proc_mutex.c
proc_mutex.o:(proc_mutex_pthread_create) in archive …/…/…/deps/3rd/usr/local/oceanbase/deps/devel/lib/libapr-1.a
did you mean: pthread_mutexattr_setrobust_np@GLIBC_2.4
defined in: /lib/x86_64-linux-gnu/libc.so.6

ld.lld: error: undefined symbol: pthread_mutex_consistent_np

referenced by proc_mutex.c
proc_mutex.o:(proc_mutex_pthread_acquire) in archive …/…/…/deps/3rd/usr/local/oceanbase/deps/devel/lib/libapr-1.a
referenced by proc_mutex.c
proc_mutex.o:(proc_mutex_pthread_tryacquire) in archive …/…/…/deps/3rd/usr/local/oceanbase/deps/devel/lib/libapr-1.a
did you mean: pthread_mutex_consistent_np@GLIBC_2.4
defined in: /lib/x86_64-linux-gnu/libc.so.6

ld.lld: error: undefined symbol: sys_siglist

referenced by signals.c
signals.o:(apr_signal_description_get) in archive …/…/…/deps/3rd/usr/local/oceanbase/deps/devel/lib/libapr-1.a

ld.lld: error: undefined symbol: pthread_yield

referenced by thread.c
thread.o:(apr_thread_yield) in archive …/…/…/deps/3rd/usr/local/oceanbase/deps/devel/lib/libapr-1.a
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/observer/CMakeFiles/observer.dir/build.make:162: src/observer/observer] Error 1
make[1]: *** [CMakeFiles/Makefile2:10341: src/observer/CMakeFiles/observer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[100%] Built target obcdc
make: *** [Makefile:166: all] Error 2

libapr的问题已经修复了,你看下代码是不是最新的?能否提供一下分支、commit id等信息。

我在 remotes/origin/4.2.1 这个分支编译的,
commitID:b9c29a9446bafa51074d4a88b3b703ed753235dd
ubuntu 22.04 系统。

今天编译如上错误。

4.2.1 分支目前没有遇到过这样的问题,稍等我们验证下再给你反馈。

技术同学验证过了,目前4.2.1分支编译确实有问题,我们会尽快修复。现在可以尝试使用release版本,相对比较稳定。
感谢你的反馈!!

oceanbase source code 在 ubuntu 22.04 系统都编不过吧?
请尽快修复

目前 v4.2.1_CE_BP7 分支在fedora40编译也出现这个问题

1 个赞