This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new 259fcc2b5 [CMakeLists] Make kudu_test_main static
259fcc2b5 is described below
commit 259fcc2b501077402e3d0e0d474a7ca475b70b5f
Author: Ádám Bakai <[email protected]>
AuthorDate: Wed Apr 10 13:57:47 2024 +0200
[CMakeLists] Make kudu_test_main static
This change makes sure that kudu_util.so is loaded at the beginning of
the library search order. This is needed because in unwind_safeness.cc
there is a dlsym execution in the constructor function, that creates a
wrapper for dlopen and dlclose to prevent a potential deadlock during
unwind stack resolve. It looks for the next declaration of the functions
called "dlopen" and "dlclose" in shared object files. If kudu_util is
loaded too late, then it won't find these functions and throws an error.
This happens in ubuntu 22.04 test runs. To solve this issue, the
kudu_test_main was changed to a static library and kudu_util was moved
to the front of the library list.
This is a best effort fix, and it should only have impact on test
execution.
Change-Id: I0dfeb1fa04ed91e95fd1f8d789f020dd44289fea
Reviewed-on: http://gerrit.cloudera.org:8080/21282
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Alexey Serbin <[email protected]>
---
src/kudu/util/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/kudu/util/CMakeLists.txt b/src/kudu/util/CMakeLists.txt
index 06a426169..d32450c97 100644
--- a/src/kudu/util/CMakeLists.txt
+++ b/src/kudu/util/CMakeLists.txt
@@ -466,15 +466,15 @@ endif()
# kudu_test_main
#######################################
if(NOT NO_TESTS)
- add_library(kudu_test_main
+ add_library(kudu_test_main STATIC
test_main.cc)
target_link_libraries(kudu_test_main
+ kudu_util
${KRB5_REALM_OVERRIDE}
gflags
glog
gmock
gtest
- kudu_util
kudu_test_util)
if(NOT APPLE)