-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FindIgnProtobuf could be more specific when libprotoc-dev is missing #9
Comments
Original comment by Michael Grey (Bitbucket: mxgrey, GitHub: mxgrey). My first instinct was to say that we should have the cmake configuration throw a fatal error if One tricky detail here is that we're leveraging the Google-provided protobuf config-files and/or find-modules which search for I like the idea of giving To do this, we'll need to move forward on pull request #2. |
Original comment by Michael Grey (Bitbucket: mxgrey, GitHub: mxgrey). See pull request #81 for a fix. |
I took a look at this, can we just remove the FindGzProtobuf.cmake entirely? Since CMake 3.9, there are numerous improvements to the FindProtobuf.cmake. I'll submit a PR to try to use that instead. |
I think that it probably makes sense. I noticed recently that our implementation misses some of those improvements. This would be a good opportunity to do that. |
Sounds good. Relates to my comment here; protocolbuffers/protobuf#1931 (comment) I'm just trying to compile gazebo from source on Ubuntu 23, not boil the ocean, so I'll use CMake's module rather than try to get a config version merged into |
Thank you for submitting these pull requests! As noted by @traversaro in #363 (comment):
This is confirmed by the CI failure on macOS in gazebosim/gz-msgs#360 (comment) Unfortunately, I think cmake's |
Thanks, I'll let this simmer. If this is fixed in CMake 3.28, could this be re-considered? |
if this is fixed in cmake upstream, then it will be most straightforward to revisit when that cmake version is available in the supported platforms of the target branch |
Protobuf installs config mode cmake files https://cmake.org/cmake/help/latest/command/find_package.html#search-modes using them would sort out abseil related issues as it would add the linked libraries to the targets. Got here after looking at protobuf breakage in ignition-msgs on Gentoo. Some context |
Protobuf packaged for all Debian-based distro before 2023 (at least) including Ubuntu 20.04 and 22.04 is compiled via autotools, that does not install config mode cmake files (see for example https://packages.ubuntu.com/jammy/amd64/libprotobuf-dev/filelist). So to keep compatibility with Ubuntu 20.04 and 22.04 we need to support at least as a fallback support for finding |
If I am not wrong, this should be fixed by gazebosim/gz-msgs#346 (we had the same problem in conda-forge). Probably we need either a new release of ign-msgs5 or that you backport the patch in gazebosim/gz-msgs#346 ? See also the other PRs linked in gazebosim/gz-msgs#346 for other similar fixes in ignition/gazebo libraries. |
Original report (archived issue) by Shane Loretz (Bitbucket: Shane Loretz, GitHub: sloretz).
While cleaning up a docker image based on 16.04 I had installed
libprotobuf-dev
andprotobuf-compiler
but accidentally removedlibprotoc-dev
.The output at generate time is
but the output at build time is
Line 120 in build.make is
src/ign_msgs_gen: protobuf::libprotoc-NOTFOUND
I'd like the the generate step to error with "libprotoc not found". How could that be accomplished? Does it warrant it's own find module? Or would it fit better as a
COMPONENT
ofFindIgnProtobuf
?The text was updated successfully, but these errors were encountered: