Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-7581

Specifying an unbundled dependency can cause build to pick up wrong Boost version

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Mesosphere Sprint 57
    • 1

    Description

      Specifying an unbundled dependency can cause the build to pick up a wrong Boost version. Assuming we have e.g., both protobuf and Boost installed in PREFIX, configuring with --with-protobuf=PREFIX causes the build to pick up the Boost version from PREFIX instead of using the bundled one.

      This appears to be due to how we specify Boost include paths. Boost paths are added with -isystem to suppress warnings; the protobuf include path, on the other hand, would be added with -I. GCC and for compatibility clang first search all paths specified with -I left-to-right before looking at paths given with -isystem, see the GCC documenation.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            bbannier Benjamin Bannier
            bbannier Benjamin Bannier
            Till Toenshoff Till Toenshoff
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Agile

                Completed Sprint:
                Mesosphere Sprint 57 ended 13/Jun/17
                View on Board

                Slack

                  Issue deployment