Joe McDonnell created IMPALA-11641:
--------------------------------------
Summary: When building with shared libraries, Boost should use
shared libraries
Key: IMPALA-11641
URL: https://issues.apache.org/jira/browse/IMPALA-11641
Project: IMPALA
Issue Type: Bug
Components: Backend
Affects Versions: Impala 4.2.0
Reporter: Joe McDonnell
When building with shared libraries, Boost libraries are still statically
linked.
{noformat}
$ ./buildall.sh -so -skiptests -cmake_only
...
-- Boost libraries:
/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_thread.a-lpthread/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_regex.a/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_filesystem.a/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_system.a/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_date_time.a/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_random.a/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_locale.a/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_chrono.a/opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/lib/libboost_atomic.a
...{noformat}
Binaries fail to startup due to being unable to find Boost symbols. This is
governed by this logic in CMake:
{noformat}
set(Boost_USE_STATIC_LIBS NOT ${BUILD_SHARED_LIBS}){noformat}
That doesn't seem to work. This should be changed to something like this:
{noformat}
if(BUILD_SHARED_LIBS)
set(Boost_USE_STATIC_LIBS OFF)
else()
set(Boost_USE_STATIC_LIBS ON)
endif(){noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)