Jens Alfke
unread,Feb 26, 2022, 4:53:28 PM2/26/22Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Cap'n Proto
I’m trying to get my (C++) project to build in Github Actions, but getting compile errors because apparently there’s a version mismatch between the Cap’n Proto headers and tool.
I don’t build Cap’n Proto as part of the project; instead I use a package manager to install it. My CMakeLists.txt has a step to compile my interface:
find_package(CapnProto CONFIG REQUIRED)
capnp_generate_cpp(myCapnPSources myCapnPHeaders src/interface.capnp)
This works fine in local builds, both macOS and Ubuntu.
In my Github Actions yaml file, I added a build step that uses the get-package action:
- name: Install Capn Proto
uses: mstksg/get-package@v1
with:
brew: capnp
apt-get: capnproto libcapnp-dev
Unfortunately the C++ compile then fails with the error: "Version mismatch between generated code and library headers. You must use the same version of the Cap'n Proto compiler and library.”
I assume this means that on the Github runner the `capnp` tool is from a different version than the headers. I don’t know why that would be, when I had apt install both packages. (And why would there be a second installation of Cap’n Proto at all?)
Has anyone successfully gotten Github Actions to build C++ based Cap’n Proto projects?
—Jens