Joe McDonnell created IMPALA-12100:
--------------------------------------
Summary: native-toolchain's gflags build use
REGISTER_INSTALL_PREFIX=Off
Key: IMPALA-12100
URL: https://issues.apache.org/jira/browse/IMPALA-12100
Project: IMPALA
Issue Type: Bug
Components: Infrastructure
Affects Versions: Impala 4.3.0
Reporter: Joe McDonnell
When building the native-toolchain, the Kudu build failed with odd messages
about gflags:
{noformat}
[ 8%] Linking CXX executable ../../../bin/protoc-gen-insertions
/home/ubuntu/workspace/ubuntu-16.04-native-toolchain/native-toolchain/source/kudu/kudu-345fd44ca3/thirdparty/src/glog-0.6.0/src/logging.cc:116:
error: undefined reference to
'google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char
const*, bool*, bool*, bool)'{noformat}
It seems that glog was built with Impala's gflags rather than Kudu's thirdparty
gflags. Impala has some patches that modify FlagRegisterer.
Why would it find Impala's gflags? Well, gflags has a CMake option
REGISTER_INSTALL_PREFIX, which defaults to true. When true, it installs
something in the .cmake directory in the user's home directory. From the gflags
build log:
{noformat}
-- Installing:
/home/ubuntu/.cmake/packages/gflags/2407f150c75a144f5e6c9e90127cb6c1{noformat}
This seems to be picked up by Kudu's thirdparty build, leading to the error. We
should set REGISTER_INSTALL_PREFIX=OFF for gflags.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)