Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-12100

native-toolchain's gflags build should use REGISTER_INSTALL_PREFIX=Off

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Impala 4.3.0
    • Impala 4.3.0
    • Infrastructure
    • None
    • ghx-label-3

    Description

      When building the native-toolchain, the Kudu build failed with odd messages about gflags:

      [  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)'

      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:

      -- Installing: /home/ubuntu/.cmake/packages/gflags/2407f150c75a144f5e6c9e90127cb6c1

      This seems to be picked up by Kudu's thirdparty build, leading to the error. We should set REGISTER_INSTALL_PREFIX=OFF for gflags.

      Attachments

        Activity

          People

            joemcdonnell Joe McDonnell
            joemcdonnell Joe McDonnell
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: