You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Andrew Schwartzmeyer <an...@schwartzmeyer.com> on 2018/03/13 22:30:22 UTC

Review Request 66046: CMake: Patched Boost to remove spurious warnings.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/
-----------------------------------------------------------

Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.


Bugs: MESOS-8556
    https://issues.apache.org/jira/browse/MESOS-8556


Repository: mesos


Description
-------

On Windows, Boost explicitly checks if it's being compiled with a
compiler version they've tested. As we tend to update Visual Studio
whenever a stable update is available, this leads to a Boost warning,
"Unknown compiler version..." being emitted repeatedly (for every file
which includes a Boost header).

If it were emitted once, we would leave it be, but because it's
repeated hundreds of times, and is mostly harmless, we patch the build
to remove the warning itself. Unfortunately, there is no compile-time
option to disable the warning instead of a patch.

Note that it is not straight-forward to generate a patch file for
Boost. The steps were: clone the Boost repo recursively, go the
`libs/config` submodule, edit the `visualc.hpp` file, go to the
`include` subdirectory, and use `git diff --relative` to generate the
patch with the corrects paths expected for the extracted tarball.


Diffs
-----

  3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
  3rdparty/boost-1.65.0.patch PRE-CREATION 


Diff: https://reviews.apache.org/r/66046/diff/1/


Testing
-------

Built on Windows; no more warning.


Thanks,

Andrew Schwartzmeyer


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Andrew Schwartzmeyer <an...@schwartzmeyer.com>.

> On March 13, 2018, 5:21 p.m., Jeff Coffler wrote:
> > 3rdparty/boost-1.65.0.patch
> > Lines 12 (patched)
> > <https://reviews.apache.org/r/66046/diff/1/?file=1974924#file1974924line12>
> >
> >     I'm thinking the other way around. That is, if the compiler version < 1910, issue the warning, otherwise be quiet.
> >     
> >     That way:
> >     
> >     1. We only update this when we update minimum compiler version,
> >     2. Greater versions are legal, as long as it's >= the minimum compiler version.
> >     
> >     The way you have it now, we'd need to update this every single time a new compiler came out. Yuck. I think we only care if new compiler is REQUIRED for some reason.
> 
> Andrew Schwartzmeyer wrote:
>     That's not quite what's going on here. The upstream code is checking if `_MSC_VER > 1910`, that is, "is the compiler newer than what we've tested (1910)? If so, emit this warning." But we compile with, for instance, MSVC 1912 (latest dot-update to VS).
>     
>     But look closer, this is a new patch file _removing_ this code because the check is causing _way_ too many warnings. No, Boost, you did not break between 1910 and 1912; stop warning us.
> 
> Jeff Coffler wrote:
>     I understand that. I agree the current code is broken. My question: If we're using a "less than supported" version of the compiler, isn't this a GOOD error to get? Or is this something that cmake checks for?
>     
>     I guess, what I'm asking here: What happens if my version of Visual Studio is too low? Do we support ALL versions of Visual Studio 2017? Or do we need patch levels? If we do need a patch level, I think we should make it obvious by checking for that here (or by aborting during the cmake step).

We're not using a less than supported version. We're using a "more" than supported version. This bit of code in Boost does not test less than, it tests more than.

If you're VS studio is too low, you'll fail a lot earlier than this. Moreover, the rest of this file does minimum version checks. This hunk does "max" version checks. It's confusing and dumb.


- Andrew


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199133
-----------------------------------------------------------


On March 13, 2018, 3:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 3:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Andrew Schwartzmeyer <an...@schwartzmeyer.com>.

> On March 13, 2018, 5:21 p.m., Jeff Coffler wrote:
> > 3rdparty/boost-1.65.0.patch
> > Lines 12 (patched)
> > <https://reviews.apache.org/r/66046/diff/1/?file=1974924#file1974924line12>
> >
> >     I'm thinking the other way around. That is, if the compiler version < 1910, issue the warning, otherwise be quiet.
> >     
> >     That way:
> >     
> >     1. We only update this when we update minimum compiler version,
> >     2. Greater versions are legal, as long as it's >= the minimum compiler version.
> >     
> >     The way you have it now, we'd need to update this every single time a new compiler came out. Yuck. I think we only care if new compiler is REQUIRED for some reason.

That's not quite what's going on here. The upstream code is checking if `_MSC_VER > 1910`, that is, "is the compiler newer than what we've tested (1910)? If so, emit this warning." But we compile with, for instance, MSVC 1912 (latest dot-update to VS).

But look closer, this is a new patch file _removing_ this code because the check is causing _way_ too many warnings. No, Boost, you did not break between 1910 and 1912; stop warning us.


- Andrew


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199133
-----------------------------------------------------------


On March 13, 2018, 3:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 3:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Jeff Coffler <je...@taltos.com>.

> On March 14, 2018, 12:21 a.m., Jeff Coffler wrote:
> > 3rdparty/boost-1.65.0.patch
> > Lines 12 (patched)
> > <https://reviews.apache.org/r/66046/diff/1/?file=1974924#file1974924line12>
> >
> >     I'm thinking the other way around. That is, if the compiler version < 1910, issue the warning, otherwise be quiet.
> >     
> >     That way:
> >     
> >     1. We only update this when we update minimum compiler version,
> >     2. Greater versions are legal, as long as it's >= the minimum compiler version.
> >     
> >     The way you have it now, we'd need to update this every single time a new compiler came out. Yuck. I think we only care if new compiler is REQUIRED for some reason.
> 
> Andrew Schwartzmeyer wrote:
>     That's not quite what's going on here. The upstream code is checking if `_MSC_VER > 1910`, that is, "is the compiler newer than what we've tested (1910)? If so, emit this warning." But we compile with, for instance, MSVC 1912 (latest dot-update to VS).
>     
>     But look closer, this is a new patch file _removing_ this code because the check is causing _way_ too many warnings. No, Boost, you did not break between 1910 and 1912; stop warning us.

I understand that. I agree the current code is broken. My question: If we're using a "less than supported" version of the compiler, isn't this a GOOD error to get? Or is this something that cmake checks for?

I guess, what I'm asking here: What happens if my version of Visual Studio is too low? Do we support ALL versions of Visual Studio 2017? Or do we need patch levels? If we do need a patch level, I think we should make it obvious by checking for that here (or by aborting during the cmake step).


- Jeff


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199133
-----------------------------------------------------------


On March 13, 2018, 10:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 10:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Jeff Coffler <je...@taltos.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199133
-----------------------------------------------------------




3rdparty/boost-1.65.0.patch
Lines 12 (patched)
<https://reviews.apache.org/r/66046/#comment279439>

    I'm thinking the other way around. That is, if the compiler version < 1910, issue the warning, otherwise be quiet.
    
    That way:
    
    1. We only update this when we update minimum compiler version,
    2. Greater versions are legal, as long as it's >= the minimum compiler version.
    
    The way you have it now, we'd need to update this every single time a new compiler came out. Yuck. I think we only care if new compiler is REQUIRED for some reason.


- Jeff Coffler


On March 13, 2018, 10:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 10:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Mesos Reviewbot Windows <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199145
-----------------------------------------------------------



PASS: Mesos patch 66046 was successfully built and tested.

Reviews applied: `['66007', '66008', '66009', '66010', '66011', '66012', '66013', '66014', '66046']`

All the build artifacts available at: http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/66046

- Mesos Reviewbot Windows


On March 13, 2018, 10:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 10:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Jeff Coffler <je...@taltos.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199215
-----------------------------------------------------------


Ship it!




Ship It!

- Jeff Coffler


On March 13, 2018, 10:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 10:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Andrew Schwartzmeyer <an...@schwartzmeyer.com>.

> On March 14, 2018, 9:47 a.m., Benjamin Bannier wrote:
> > Hmm, I am not sure I am super thrilled about this patch. How about not using unsupported compilers instead? And like you said, the warning is just annoying but harmless.

We're not using an unsupported compiler. We're using the latest stable MSVC compiler, which they (the MSVC team) test against Boost (and Mesos) before they update.

It's fine that Boost wants to say, "hey, you're compiler is a bit new, we're not 100% certain it'll work." But it's not fine to say it in an undisableable warning that's thrown from included headers and so repeated hundreds of times in a build of an upstream project.

It is true that maybe they'll push a patch version in which we hit a bug, but _this_ warning is not what's going to help us find it.

The problem here is that Boost hard-coded a "maximum" compiler version, down to the patch number, into their headers. It'd be like if they supported GCC 7.0, but threw a warning if you started using 7.0.1 instead. That's what this bit of code does. Throwing a warning for say 8.0 would be reasonable; but still not in the way they do it here, where it can't be turned off and gets repeated by every single source file in your code base.


- Andrew


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199182
-----------------------------------------------------------


On March 13, 2018, 3:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 3:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Benjamin Bannier <be...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199182
-----------------------------------------------------------



Hmm, I am not sure I am super thrilled about this patch. How about not using unsupported compilers instead? And like you said, the warning is just annoying but harmless.

- Benjamin Bannier


On March 13, 2018, 11:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 11:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Jeff Coffler <je...@taltos.com>.

> On March 14, 2018, 6:44 p.m., Andrew Schwartzmeyer wrote:
> > So, this patch is fairly temporary. The tip of `master` of Boost (of that submodule) has this commit:
> > 
> > ```
> > commit 5ad073063 (origin/develop, origin/HEAD, develop)
> > Author: jzmaddock <jo...@johnmaddock.co.uk>
> > Date:   Wed Mar 7 18:02:01 2018 +0000
> > 
> >     visualc.hpp: Disable warning about outdated config.
> > 
> > diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp
> > index 748d14076..c533c50df 100644
> > --- a/include/boost/config/compiler/visualc.hpp
> > +++ b/include/boost/config/compiler/visualc.hpp
> > @@ -346,6 +346,9 @@
> >  #  if defined(BOOST_ASSERT_CONFIG)
> >  #     error "Boost.Config is older than your current compiler version."
> >  #  elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)
> > -      BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost vers
> > ion. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.")
> > +      //
> > +      // Disabled as of March 2018 - the pace of VS releases is hard to keep up with
> > +      // and in any case, we have relatively few defect macros defined now.
> > +      // BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost v
> > ersion. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.")
> >  #  endif
> >  #endif
> > ```
> > 
> > So when we get an updated version of Boost with this change, we can just add `BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE` to the pre-processor definitions and delete this patch. But it is necessary for now (and even upstream they realized this code was awful).

With this in mind, I'm fine with the patch.


- Jeff


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199198
-----------------------------------------------------------


On March 13, 2018, 10:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 10:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Andrew Schwartzmeyer <an...@schwartzmeyer.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199198
-----------------------------------------------------------



So, this patch is fairly temporary. The tip of `master` of Boost (of that submodule) has this commit:

```
commit 5ad073063 (origin/develop, origin/HEAD, develop)
Author: jzmaddock <jo...@johnmaddock.co.uk>
Date:   Wed Mar 7 18:02:01 2018 +0000

    visualc.hpp: Disable warning about outdated config.

diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp
index 748d14076..c533c50df 100644
--- a/include/boost/config/compiler/visualc.hpp
+++ b/include/boost/config/compiler/visualc.hpp
@@ -346,6 +346,9 @@
 #  if defined(BOOST_ASSERT_CONFIG)
 #     error "Boost.Config is older than your current compiler version."
 #  elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)
-      BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost vers
ion. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.")
+      //
+      // Disabled as of March 2018 - the pace of VS releases is hard to keep up with
+      // and in any case, we have relatively few defect macros defined now.
+      // BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost v
ersion. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.")
 #  endif
 #endif
```

So when we get an updated version of Boost with this change, we can just add `BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE` to the pre-processor definitions and delete this patch. But it is necessary for now (and even upstream they realized this code was awful).

- Andrew Schwartzmeyer


On March 13, 2018, 3:30 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 13, 2018, 3:30 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/1/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Joseph Wu <jo...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199465
-----------------------------------------------------------


Ship it!




Ship It!

- Joseph Wu


On March 19, 2018, 12:14 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 19, 2018, 12:14 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt e0c1538eaaef4bf6a198e89867a13763f264deb3 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/3/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Andrew Schwartzmeyer <an...@schwartzmeyer.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/
-----------------------------------------------------------

(Updated March 19, 2018, 12:14 p.m.)


Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.


Changes
-------

Rebased.


Bugs: MESOS-8556
    https://issues.apache.org/jira/browse/MESOS-8556


Repository: mesos


Description
-------

On Windows, Boost explicitly checks if it's being compiled with a
compiler version they've tested. As we tend to update Visual Studio
whenever a stable update is available, this leads to a Boost warning,
"Unknown compiler version..." being emitted repeatedly (for every file
which includes a Boost header).

If it were emitted once, we would leave it be, but because it's
repeated hundreds of times, and is mostly harmless, we patch the build
to remove the warning itself. Unfortunately, there is no compile-time
option to disable the warning instead of a patch.

Note that it is not straight-forward to generate a patch file for
Boost. The steps were: clone the Boost repo recursively, go the
`libs/config` submodule, edit the `visualc.hpp` file, go to the
`include` subdirectory, and use `git diff --relative` to generate the
patch with the corrects paths expected for the extracted tarball.


Diffs (updated)
-----

  3rdparty/CMakeLists.txt e0c1538eaaef4bf6a198e89867a13763f264deb3 
  3rdparty/boost-1.65.0.patch PRE-CREATION 


Diff: https://reviews.apache.org/r/66046/diff/3/

Changes: https://reviews.apache.org/r/66046/diff/2-3/


Testing
-------

Built on Windows; no more warning.


Thanks,

Andrew Schwartzmeyer


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Mesos Reviewbot Windows <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/#review199230
-----------------------------------------------------------



FAIL: Some of the unit tests failed. Please check the relevant logs.

Reviews applied: `['66007', '66008', '66009', '66010', '66011', '66012', '66013', '66014', '66046']`

Failed command: `Start-MesosCITesting`

All the build artifacts available at: http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/66046

Relevant logs:

- [libprocess-tests-stdout.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/66046/logs/libprocess-tests-stdout.log):

```
[ RUN      ] TimeTest.Output
[       OK ] TimeTest.Output (0 ms)
[----------] 4 tests from TimeTest (5 ms total)

[----------] 3 tests from TimeSeriesTest
[ RUN      ] TimeSeriesTest.Set
[       OK ] TimeSeriesTest.Set (0 ms)
[ RUN      ] TimeSeriesTest.Sparsify
[       OK ] TimeSeriesTest.Sparsify (1 ms)
[ RUN      ] TimeSeriesTest.Truncate
[       OK ] TimeSeriesTest.Truncate (2 ms)
[----------] 3 tests from TimeSeriesTest (5 ms total)

[----------] 3 tests from JWTTest
[ RUN      ] JWTTest.Parse
[       OK ] JWTTest.Parse (8 ms)
[ RUN      ] JWTTest.Create
[       OK ] JWTTest.Create (0 ms)
[ RUN      ] JWTTest.Stringify
[       OK ] JWTTest.Stringify (1 ms)
[----------] 3 tests from JWTTest (13 ms total)

[----------] 1 test from SSL
[ RUN      ] SSL.Disabled
[       OK ] SSL.Disabled (10 ms)
[----------] 1 test from SSL (10 ms total)

[----------] 17 tests from SSLTest
[ RUN      ] SSLTest.SSLSocket
```

- [libprocess-tests-stderr.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/66046/logs/libprocess-tests-stderr.log):

```
ABORT: (D:\DCOS\mesos\mesos\3rdparty\libprocess\include\process/ssl/gtest.hpp:171): Could not generate certificate: Failed to set common name: X509_NAME_add_entry_by_txt
```

- [mesos-tests-stdout.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/66046/logs/mesos-tests-stdout.log):

```
[       OK ] ContentType/SchedulerTest.Revive/1 (281 ms)
[ RUN      ] ContentType/SchedulerTest.Suppress/0
[       OK ] ContentType/SchedulerTest.Suppress/0 (250 ms)
[ RUN      ] ContentType/SchedulerTest.Suppress/1
[       OK ] ContentType/SchedulerTest.Suppress/1 (275 ms)
[ RUN      ] ContentType/SchedulerTest.NoOffersWithAllRolesSuppressed/0
[       OK ] ContentType/SchedulerTest.NoOffersWithAllRolesSuppressed/0 (267 ms)
[ RUN      ] ContentType/SchedulerTest.NoOffersWithAllRolesSuppressed/1
[       OK ] ContentType/SchedulerTest.NoOffersWithAllRolesSuppressed/1 (284 ms)
[ RUN      ] ContentType/SchedulerTest.NoOffersOnReregistrationWithAllRolesSuppressed/0
[       OK ] ContentType/SchedulerTest.NoOffersOnReregistrationWithAllRolesSuppressed/0 (303 ms)
[ RUN      ] ContentType/SchedulerTest.NoOffersOnReregistrationWithAllRolesSuppressed/1
[       OK ] ContentType/SchedulerTest.NoOffersOnReregistrationWithAllRolesSuppressed/1 (322 ms)
[ RUN      ] ContentType/SchedulerTest.Message/0
[       OK ] ContentType/SchedulerTest.Message/0 (342 ms)
[ RUN      ] ContentType/SchedulerTest.Message/1
[       OK ] ContentType/SchedulerTest.Message/1 (342 ms)
[ RUN      ] ContentType/SchedulerTest.Request/0
[       OK ] ContentType/SchedulerTest.Request/0 (100 ms)
[ RUN      ] ContentType/SchedulerTest.Request/1
[       OK ] ContentType/SchedulerTest.Request/1 (112 ms)
[ RUN      ] ContentType/SchedulerTest.SchedulerReconnect/0
[       OK ] ContentType/SchedulerTest.SchedulerReconnect/0 (84 ms)
[ RUN      ] ContentType/SchedulerTest.SchedulerReconnect/1
[       OK ] ContentType/SchedulerTest.SchedulerReconnect/1 (81 ms)
[----------] 32 tests from ContentType/SchedulerTest (13384 ms total)

[----------] 4 tests from ContentTypeAndSSLConfig/SchedulerSSLTest
[ RUN      ] ContentTypeAndSSLConfig/SchedulerSSLTest.RunTaskAndTeardown/0
```

- [mesos-tests-stderr.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/66046/logs/mesos-tests-stderr.log):

```
I0315 00:14:54.710726  2764 scheduler.cpp:472] Lost leading master
I0315 00:14:54.715724 11344 master.cpp:1136] Master terminating
I0315 00:14:54.742727 11344 cluster.cpp:172] Creating default 'local' authorizer
I0315 00:14:54.749727  8668 master.cpp:463] Master b5cc416d-b682-44f4-a089-17c3402f819e (win-bld-srv-01.zq4gs31qjdiunm1ryi1452nvnh.dx.internal.cloudapp.net) started on 10.3.1.8:61003
I0315 00:14:54.750725  8668 master.cpp:465] Flags at startup: --acls="" --agent_ping_timeout="15secs" --agent_reregister_timeout="10mins" --allocation_interval="1secs" --allocator="HierarchicalDRF" --authenticate_agents="true" --authenticate_frameworks="true" --authenticate_http_frameworks="true" --authenticate_http_readonly="true" --authenticate_http_readwrite="true" --authenticators="crammd5" --authorizers="local" --credentials="C:\Users\mesos\AppData\Local\Temp\XGWMTS\credentials" --filter_gpu_resources="true" --framework_sorter="drf" --help="false" --hostname_lookup="true" --http_authenticators="basic" --http_framework_authenticators="basic" --initialize_driver_logging="true" --log_auto_initialize="true" --logbufsecs="0" --logging_level="INFO" --max_agent_ping_timeouts="5" --max_completed_frameworks="50" --max_completed_tasks_per_framework="1000" --max_unreachable_tasks_per_framework="1000" --port="5050" --quiet="false" --recovery_agent_removal_limit="100%" --registry="in_memory"
  --registry_fetch_timeout="1mins" --registry_gc_interval="15mins" --registry_max_agent_age="2weeks" --registry_max_agent_count="102400" --registry_store_timeout="100secs" --registry_strict="false" --require_agent_domain="false" --root_submissions="true" --user_sorter="drf" --version="false" --webui_dir="/webui" --work_dir="C:\Users\mesos\AppData\Local\Temp\XGWMTS\master" --zk_session_timeout="10secs"
I0315 00:14:54.752727  8668 master.cpp:514] Master only allowing authenticated frameworks to register
I0315 00:14:54.752727  8668 master.cpp:520] Master only allowing authenticated agents to register
I0315 00:14:54.752727  8668 master.cpp:526] Master only allowing authenticated HTTP frameworks to register
I0315 00:14:54.752727  8668 credentials.hpp:37] Loading credentials for authentication from 'C:\Users\mesos\AppData\Local\Temp\XGWMTS\credentials'
I0315 00:14:54.754725  8668 master.cpp:570] Using default 'crammd5' authenticator
I0315 00:14:54.754725  8668 http.cpp:957] Creating default 'basic' HTTP authenticator for realm 'mesos-master-readonly'
I0315 00:14:54.755726  8668 http.cpp:957] Creating default 'basic' HTTP authenticator for realm 'mesos-master-readwrite'
I0315 00:14:54.755726  8668 http.cpp:957] Creating default 'basic' HTTP authenticator for realm 'mesos-master-scheduler'
I0315 00:14:54.756727  8668 master.cpp:649] Authorization enabled
I0315 00:14:54.764725 13252 master.cpp:2119] Elected as the leading master!
I0315 00:14:54.765732 13252 master.cpp:1678] Recovering from registrar
I0315 00:14:54.766731  9688 registrar.cpp:391] Successfully fetched the registry (0B) in 998912ns
I0315 00:14:54.766731  9688 registrar.cpp:495] Applied 1 operations in 0ns; attempting to update the registry
I0315 00:14:54.767729 10620 registrar.cpp:552] Successfully updated the registry in 998912ns
I0315 00:1ABORT: (D:\DCOS\mesos\mesos\3rdparty\libprocess\include\process/ssl/gtest.hpp:171): Could not generate certificate: Failed to set common name: X509_NAME_add_entry_by_txt
4:54.767729 10620 registrar.cpp:424] Successfully recovered registrar
I0315 00:14:54.769726  8668 master.cpp:1792] Recovered 0 agents from the registry (239B); allowing 10mins for agents to reregister
I0315 00:14:54.777997 11344 scheduler.cpp:188] Version: 1.6.0
I0315 00:14:54.778728  1652 scheduler.cpp:311] Using default 'basic' HTTP authenticatee
I0315 00:14:54.778728 10452 scheduler.cpp:494] New master detected at master@10.3.1.8:61003
I0315 00:14:54.785735 13252 scheduler.cpp:468] Re-detecting master
I0315 00:14:54.787734 13252 scheduler.cpp:494] New master detected at master@10.3.1.8:61003
I0315 00:14:54.794726  8668 scheduler.cpp:472] Lost leading master
I0315 00:14:54.799733  5360 master.cpp:1136] Master terminating
```

- Mesos Reviewbot Windows


On March 14, 2018, 11:18 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/66046/
> -----------------------------------------------------------
> 
> (Updated March 14, 2018, 11:18 p.m.)
> 
> 
> Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.
> 
> 
> Bugs: MESOS-8556
>     https://issues.apache.org/jira/browse/MESOS-8556
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> On Windows, Boost explicitly checks if it's being compiled with a
> compiler version they've tested. As we tend to update Visual Studio
> whenever a stable update is available, this leads to a Boost warning,
> "Unknown compiler version..." being emitted repeatedly (for every file
> which includes a Boost header).
> 
> If it were emitted once, we would leave it be, but because it's
> repeated hundreds of times, and is mostly harmless, we patch the build
> to remove the warning itself. Unfortunately, there is no compile-time
> option to disable the warning instead of a patch.
> 
> Note that it is not straight-forward to generate a patch file for
> Boost. The steps were: clone the Boost repo recursively, go the
> `libs/config` submodule, edit the `visualc.hpp` file, go to the
> `include` subdirectory, and use `git diff --relative` to generate the
> patch with the corrects paths expected for the extracted tarball.
> 
> 
> Diffs
> -----
> 
>   3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
>   3rdparty/boost-1.65.0.patch PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/66046/diff/2/
> 
> 
> Testing
> -------
> 
> Built on Windows; no more warning.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 66046: CMake: Patched Boost to remove spurious warnings.

Posted by Andrew Schwartzmeyer <an...@schwartzmeyer.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66046/
-----------------------------------------------------------

(Updated March 14, 2018, 4:18 p.m.)


Review request for mesos, Akash Gupta, Benjamin Bannier, Jeff Coffler, John Kordich, Joseph Wu, and Michael Park.


Changes
-------

Rebased.


Bugs: MESOS-8556
    https://issues.apache.org/jira/browse/MESOS-8556


Repository: mesos


Description
-------

On Windows, Boost explicitly checks if it's being compiled with a
compiler version they've tested. As we tend to update Visual Studio
whenever a stable update is available, this leads to a Boost warning,
"Unknown compiler version..." being emitted repeatedly (for every file
which includes a Boost header).

If it were emitted once, we would leave it be, but because it's
repeated hundreds of times, and is mostly harmless, we patch the build
to remove the warning itself. Unfortunately, there is no compile-time
option to disable the warning instead of a patch.

Note that it is not straight-forward to generate a patch file for
Boost. The steps were: clone the Boost repo recursively, go the
`libs/config` submodule, edit the `visualc.hpp` file, go to the
`include` subdirectory, and use `git diff --relative` to generate the
patch with the corrects paths expected for the extracted tarball.


Diffs (updated)
-----

  3rdparty/CMakeLists.txt 61dc788edf96ca6e8e3ee736eb232c0c118e6191 
  3rdparty/boost-1.65.0.patch PRE-CREATION 


Diff: https://reviews.apache.org/r/66046/diff/2/

Changes: https://reviews.apache.org/r/66046/diff/1-2/


Testing
-------

Built on Windows; no more warning.


Thanks,

Andrew Schwartzmeyer