Closed sunbearc22 closed 1 week ago
Apart from the libprotobuf-c, unbound also uses the protoc-c program. The packages for that could be separated. Also development versions of the library packages need to be installed, since the compilation uses the development headers to link to the library. Perhaps it is called protobuf-c-dev or protobuf-c-devel, or the protoc-c application has its own package.
Since libprotobuf-c-dev is installed, this is likely about the /usr/bin/protoc-c program that is needed. It compiles the protocol buffers annotation for the format that is used. The program is used during the compilation to create the header that is used with the library. If it is installed in a different place, PROTOC_C=/path/to/protoc-c
can be used to set the program location at the configure call.
@wcawijngaards These are what I found. Which should I install?
$ sudo apt search protobuf-c
Sorting... Done
Full Text Search... Done
libprotobuf-c-dev/stable,now 1.4.1-1+b1 armhf [installed]
Protocol Buffers C static library and headers (protobuf-c)
libprotobuf-c1/stable,now 1.4.1-1+b1 armhf [installed,automatic]
Protocol Buffers C shared library (protobuf-c)
librust-prometheus+protobuf-codegen-pure-dev/stable 0.13.3-1 armhf
Prometheus instrumentation library for Rust applications - feature "protobuf-codegen-pure" and 1 more
librust-protobuf-codegen-dev/stable 2.27.1-1+b2 armhf
Code generator for rust-protobuf - Rust source code
librust-protobuf-codegen-pure-dev/stable 2.27.1-1 armhf
Pure-rust codegen for protobuf using protobuf-parser crate - Rust source code
protobuf-c-compiler/stable 1.4.1-1+b1 armhf
Protocol Buffers C compiler (protobuf-c)
protobuf-codegen/stable 2.27.1-1+b2 armhf
Code generator for rust-protobuf
protobuf-compiler/stable 3.21.12-3 armhf
compiler for protocol buffer definition files
protobuf-compiler-grpc/stable 1.51.1-3+b1 armhf
high performance general RPC framework - protobuf plugin
protobuf-compiler-grpc-java-plugin/stable 1.41.3+ds-1 armhf
high performance general RPC framework - protobuf Java plugin
$ sudo apt search protoc-c
Sorting... Done
Full Text Search... Done
$ sudo find / -name protoc-c
$ sudo apt search protobuf-c
Sorting... Done
Full Text Search... Done
libprotobuf-c-dev/stable,now 1.4.1-1+b1 armhf [installed]
Protocol Buffers C static library and headers (protobuf-c)
libprotobuf-c1/stable,now 1.4.1-1+b1 armhf [installed,automatic]
Protocol Buffers C shared library (protobuf-c)
librust-prometheus+protobuf-codegen-pure-dev/stable 0.13.3-1 armhf
Prometheus instrumentation library for Rust applications - feature "protobuf-codegen-pure" and 1 more
librust-protobuf-codegen-dev/stable 2.27.1-1+b2 armhf
Code generator for rust-protobuf - Rust source code
librust-protobuf-codegen-pure-dev/stable 2.27.1-1 armhf
Pure-rust codegen for protobuf using protobuf-parser crate - Rust source code
protobuf-c-compiler/stable 1.4.1-1+b1 armhf
Protocol Buffers C compiler (protobuf-c)
protobuf-codegen/stable 2.27.1-1+b2 armhf
Code generator for rust-protobuf
protobuf-compiler/stable 3.21.12-3 armhf
compiler for protocol buffer definition files
protobuf-compiler-grpc/stable 1.51.1-3+b1 armhf
high performance general RPC framework - protobuf plugin
protobuf-compiler-grpc-java-plugin/stable 1.41.3+ds-1 armhf
high performance general RPC framework - protobuf Java plugin
$ sudo apt search protoc-c
Sorting... Done
Full Text Search... Done
$ sudo find / -name protoc-c
$ sudo find / -name protobuf-c-dev
$ sudo find / -name protobuf-c-devel
$
I can't seem to find a program called protoc-c
.
The protoc-c is a code generator that generates the headers that unbound is going to use, so I guess the packages protobuf-c-compiler/stable
and protobuf-compiler/stable
make the most sense. Probably one relies on the other, with the c specific one needed, possibly.
The package system may be able to answer what package provides an executable by name, as a search method.
@wcawijngaards Thanks. After sudo apt install protobuf-c-compiler protobuf-compiler
, ./configure --enable-dnstap
worked.
Nice to hear that. There is also a test dnstap service program, make with make unbound-dnstap-socket, and with -u socketpath -l it can print out the dnstap information, it is used for tests.
Describe the bug When configuring
unbound
with--enable-dnstap
, it can't locateprotobuf-c
.I have checked that
protobuf-c
is installed.I discovered from this answer that the library name is
libprotobuf-c.so.1
. Its location was found using:I have also tried these commands:
and
However, I am still getting the same error msgs:
The unbound version that I am trying to configure is 1.22.0.
To reproduce Steps to reproduce the behavior: As described above.
Expected behavior The configuration should have worked.
System:
unbound -V
output: NilAdditional information Nil.