qitab / cl-protobufs

Common Lisp protocol buffer implementation.
MIT License
83 stars 17 forks source link

Update to use latest protobuf #436

Closed michaeldelago closed 3 weeks ago

michaeldelago commented 3 months ago

This is based on the work in #434 by @Partmedia

This PR adds the missing include statements as well as a few tweaks to the Makefile to get everything working.

Changes to the Makefile

Partmedia commented 3 months ago

Thanks for improving on this. I have to remember to go back and fix the workflows on my PR :')

I might offer that the reason only c++17 works is that you may be linking to a system abseil library compiled with C++17 flags (the linked library is not cross-C++ runtime ABI compatible). That's why I also needed C++17 on my machine to get this to compile, but I opted not to include that in the PR.

Slids commented 3 months ago

Fails CI (which should at least pass ccl and sbcl

michaeldelago commented 3 months ago

CI fixed (maybe). They weren't installing absl in the setup steps.

I might offer that the reason only c++17 works is that you may be linking to a system abseil library compiled with C++17 flags (the linked library is not cross-C++ runtime ABI compatible).

That makes sense. I'm using the current version of protobuf that's in the Arch Linux package repository, so I didn't compile it myself.

Slids commented 3 months ago

CCL and SBCL are not yet passing CI

Slids commented 3 months ago

So, the issue is the ubuntu repository used in ubuntu-latest doesn't have absl_absl_log in libabsl-dev.

Slids commented 3 months ago

https://abseil.io/docs/cpp/tools/cmake-installs Will tell you how to build and install.

Installing is slow, not quite sure what to do about that, but I think it's the best way forward?

Note: This did work.

michaeldelago commented 3 weeks ago

work picked up - unfortunately too distracted to give this as much time as I wanted

nicely, this is superseded by #438