Uploaded image for project: 'Apache HAWQ'
  1. Apache HAWQ
  2. HAWQ-1572

Travis CI build failure on master. Thrift/boost incompatibility

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.3.0.0-incubating
    • Build
    • None

    Description

      Hi,

      The travis CI build is failing for master and new commits. The CI is erroring out with

      configure: error: thrift is required
      The command “./configure” failed and exited with 1 during .
      

      I was able to reproduce this issue and looking at the config.log it looks like it is failing at the line below while running a conftest.cpp -

      /usr/local/include/thrift/stdcxx.h:32:10: fatal error: 'boost/tr1/functional.hpp' file not found
      

      The root cause of the problem is compatibility of thrift 0.11 with boost 1.65.1 . Travis recently upgraded there xcode to 9.2 and list of default packages now contains boost 1.65.1 and thrift 0.11.

      Thrift uses stdcxx.h which includes boost/tr1/functional.hpp library. The support for tr1 has been removed in boost 1.65, see here under topic “Removed Libraries”.
      Since tr1 library is no longer present in boost 1.65, this causes thrift to fail and eventually ./configure fails

      Solution
      As a solution I recommend that we uninstall boost 1.65 and install boost 1.60(the last compatible build with thrift).

      I am not sure if this is a problem with thrift that they are not yet compatible with boost 1.65 yet or a problem with travis ci that they have included two incompatible versions. Will love to hear community's thoughts on it.

      Attachments

        Issue Links

          Activity

            People

              outofmemory Shubham Sharma
              outofmemory Shubham Sharma
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: