fletch icon indicating copy to clipboard operation
fletch copied to clipboard

Update protobuf3 and use CMake

Open dstoup opened this issue 6 years ago • 35 comments

Currently this branch sets the default Protobuf version to 3 for testing purposes only. We have more work to do before version 3 can be the default.l If this branch passes dashboards, I will pull the version back to 2 and repush.

dstoup avatar Oct 28 '19 18:10 dstoup

Jenkins test this please

dstoup avatar Oct 30 '19 15:10 dstoup

@aaron-bray The dashboards passed but I think you'd mentioned something about kwiver's definitions needing to change as a result of pb3. Should I keep 2 as the default for now? Thinking that's the right thing anyway until we get buyin, but wanted to get a sense of the rest of the work left to do.

dstoup avatar Oct 31 '19 11:10 dstoup

protobuf3 can read in and use protobuf2 files I have also built protobuf3 in fletch and used that in a Caffe build, which has protobuf2 proto files, and everything still worked fine.

So you really don't need to move the kwiver proto files fro 2 to 3 immediately It does not look like protobuf2 supports JSON And there are other differences between the versions https://groups.google.com/forum/#!topic/protobuf/h-nwPLb42ac

You should be able to remove protobuf2 altogether from fletch and just use 3 I think we should move to protobuf3 proto files unless there is a compelling reason to stay at 2 But we can do that on our own time and still only build protobuf3

So I feel pretty confident we can nix proto2 from fletch all together and not sink any ships

aaron-bray avatar Nov 15 '19 14:11 aaron-bray

Perfect, thanks! I will keep protobuf3 as the default, leave protobuf2 for just a little while and look to remove it completely soon. I'm looking into the static thing as well. I suspect I will have to force PIC in those cases since it didn't build correctly out of the box that way (on Linux). I think VS was fine building static

dstoup avatar Nov 15 '19 14:11 dstoup

Note, I think using the protobuf3 library (even with protobuf2 proto files) we should still get JSON support... But I would want to test that just to be sure...

aaron-bray avatar Nov 15 '19 14:11 aaron-bray