> 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 > >