Non-CMake builds do not emit the CMake config or targets (affects all Debian)
rickmark opened this issue · comments
What version of gRPC and what language are you using?
Affects 1.30.2
to current in C++ (libgrpc-dev/libgrpc++-dev)
What operating system (Linux, Windows,...) and version?
Debian / Ubuntu
What runtime / compiler are you using (e.g. python version or version of gcc)
Ubuntu focal
What did you do?
The package system runs make
not the cmake targets, therefore does not emit the required cmake files to be installed. This affects all installs of libgrpc-dev
(https://packages.debian.org/bullseye/libgrpc-dev)
What did you expect to see?
gRPCConfig.cmake
/ gRPCTargets.cmake
output so the Debian dpkg system could pick them up to usr/lib/${DEB_HOST_MULTIARCH}/cmake/
.
What did you see instead?
The files are not generated therefore not included in the .deb
file. This leads someone who has installed apt install libgrpc-dev
to be unable to find_package(gRPC)
but if installed by other means works.
Anything else we should know about your project / environment?
This may require the generation of the cmake
targets in tools/buildgen
so no matter how gRPC is built, it generates the targets to be consumed by CMake. The "must use CMake to get CMake targets" is not intuitive and as it was installed via apt consumers rarely know or care how the package is built.
Is there a fix for this? Later releases also impacted (e.g. bookworm)?
The gRPC team doesn't maintain or provide any support for the Debian packages, and our make
support has been deprecated for years (see link below). You'll likely want to take this up with the Debian package maintainer.
If possible, I'd recommend against using the distro's package altogether, v1.30 is quite out of date. Please see https://github.com/grpc/grpc/tree/master/src/cpp for supported options.
I believe it's fixed in Debian Sid unstable: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1006237 and I hope it will make it's way to next stable.
I believe it's fixed in Debian Sid unstable: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1006237 and I hope it will make it's way to next stable.
How to download and install these beta packages on Ubuntu 22.04?
Solved by installing necessary packages from Debian repos for now:
- http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/?C=M;O=D
- https://mirror.unej.ac.id/debian/pool/main/p/protobuf/
- https://mirror.unej.ac.id/debian/pool/main/g/grpc/
the following packages:
libgrpc++1.44_1.44.0-2_amd64.deb
libgrpc22_1.44.0-2_amd64.deb
libgrpc++-dev_1.44.0-2_amd64.deb
libgrpc-dev_1.44.0-2_amd64.deb
libprotobuf31_3.20.1-1_amd64.deb
libprotobuf-dev_3.20.1-1_amd64.deb
libprotobuf-lite31_3.20.1-1_amd64.deb
libprotoc31_3.20.1-1_amd64.deb
libssl1.1_1.1.1f-1ubuntu2.18_amd64.deb
protobuf-compiler_3.20.1-1_amd64.deb
protobuf-compiler-grpc_1.44.0-2_amd64.deb
The Ubuntu bug report is here: https://bugs.launchpad.net/ubuntu/+source/grpc/+bug/2019881