Package: protobuf Version: 3.6.1.3-2 Tags: stretch,buster,bullseye,sid Dear Maintainer,
during our build on stretch with backports ienabled with automatic solver to install dependencies (libprotobuf-dev and protobuf-compiler), pbuiled aptitude solver managed to install the two packages with two different versions: libprotobuf-dev = 3.6.1-4~bpo9+1 protobuf-compiler = 3.0.0-9 This leads to broken protobuf toolchain and errors in the build: [ 3%] Building CXX object CMakeFiles/acme-proto-bar.pb-obj.dir/acme/proto/bar.pb.cc.o In file included from /src/foo-defs/build-docker/acme/proto/foo.pb.cc:5:0: /src/foo-defs/build-docker/acme/proto/foo.pb.h:17:2: error: #error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is ^~~~~ /src/foo-defs/build-docker/acme/proto/foo.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please ^~~~~ /src/foo-defs/build-docker/acme/proto/foo.pb.h:19:2: error: #error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc. ^~~~~ Would you consider adding the Breaks dependency (see attached patch) so the dependency solver is not offered the broken solution anymore? Regards, Jan Kriho
diff -Nru protobuf-3.6.1.3/debian/control protobuf-3.6.1.3/debian/control --- protobuf-3.6.1.3/debian/control 2019-04-16 22:12:03.000000000 +0000 +++ protobuf-3.6.1.3/debian/control 2019-07-10 16:29:27.000000000 +0000 @@ -107,6 +107,7 @@ Section: libdevel Depends: ${misc:Depends}, zlib1g-dev, libprotobuf17 (= ${binary:Version}), libprotobuf-lite17 (= ${binary:Version}) +Breaks: protobuf-compiler (<< ${binary:Version}), protobus-compiler (>> ${binary:Version}) Description: protocol buffers C++ library (development files) and proto files Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data - similar to XML, but smaller, faster, and