> On March 28, 2016, 9:10 p.m., Vinod Kone wrote:
> > 3rdparty/libprocess/3rdparty/http-parser-2.6.1.patch, line 10
> > <https://reviews.apache.org/r/45397/diff/1/?file=1317137#file1317137line10>
> >
> >     Do you know why the non-ssl build didn't have a problem with this 
> > conflict?
> >     
> >     Also, the real fix is for stout to namespace its flags (e.g., 
> > stout::flags) implementation instead of fixing the library. But I don't 
> > know how big of a change is that.

It's due to the order of includes. The name collision occurs when 
`3rdparty/libprocess/src/process.cpp` includes `openssl.hpp` - this leads to a 
chain of includes that produces the collision. If SSL is not enabled, 
`3rdparty/libprocess/3rdparty/stout/include/stout/flags/parse.hpp` doesn't get 
included in the same scope as `http_parser.h`. If I add `#include 
<stout/flags.hpp>` to `process.cpp`, the same collision occurs when compiling.

Yep, I agree that stout should namespace its flags. It looks like that header 
is included in 43 files, so we would need to add appropriate `using` 
declarations in those files; not too bad.

It seems like it might be a good idea to also namespace all of our 3rd party 
libraries, i.e. that enum could become `3rdparty::http-parser::flags`.


- Greg


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


On March 28, 2016, 9:18 p.m., Greg Mann wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45397/
> -----------------------------------------------------------
> 
> (Updated March 28, 2016, 9:18 p.m.)
> 
> 
> Review request for mesos and Vinod Kone.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Changed name of http-parser enum to 'flags_enum'.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/3rdparty/CMakeLists.txt 
> 04a4cf4241b8188c093f4942d27b050fa7b20397 
>   3rdparty/libprocess/3rdparty/Makefile.am 
> 385302a491aba5a38ff74c0debfc2a423b0c5a8a 
>   3rdparty/libprocess/3rdparty/http-parser-2.6.1.patch PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/45397/diff/
> 
> 
> Testing
> -------
> 
> `../configure --enable-libevent --enable-ssl && make check` was used to text 
> on OSX.
> 
> 
> Thanks,
> 
> Greg Mann
> 
>

Reply via email to