oceanbase / oceanbase/oceanbase
[Question] What's the GLIBC version requirement?
Open
@wenxingsen is already working on this.
Since Apr 12, 2023.
type: question
- Dominant language
- C++
- Stars
- 10.3k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Description
Please check the issue list for the same question
- Please try full text in English and attach precise description.
Describe your question
I'm building oceanbase master on archlinux:
bash build.sh debug --init --make
Deps fetched correctly, but compilation failed as:
[100%] Built target obcdc_static
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: /usr/lib/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: /usr/lib/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:161: src/observer/observer] Error 1
make[1]: *** [CMakeFiles/Makefile2:10155: src/observer/CMakeFiles/observer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Built target obcdc
make: *** [Makefile:166: all] Error 2
It looks like GLIBC version mismatch. Do you have some suggestions to overcome this error?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.