Solved Error compiling `dns/bind-tools` port

I cannot compile the port dns/bind-tools. I get this error two days ago after updating the ports tree and compile all stale ports. Yesterday I update again the ports tree and get same error. Today again after updating ports tree, so I think the ports tree is right (Makefile of the port).

The build give me this error. It seems that the port want libprotoc.so.29.4.0:

Code:
...
libtool: link: (cd ".libs" && rm -f "libisc.so" && ln -s "libisc-9.20.10.so" "libisc.so")
libtool: link: ( cd ".libs" && rm -f "libisc.la" && ln -s "../libisc.la" "libisc.la" )
Making all in dns
cc -g -I. ./gen.c -o gen
mkdir -p include/dns
./gen -s . -c > include/dns/enumclass.h
mkdir -p include/dns
./gen -s . -t > include/dns/enumtype.h
mkdir -p include/dns
./gen -s . -i  -P ./rdata/rdatastructpre.h  -S ./rdata/rdatastructsuf.h > include/dns/rdatastruct.h
./gen -s . > code.h
/usr/local/bin/protoc-c --proto_path=. --c_out=. dnstap.proto
ld-elf.so.1: Shared object "libprotoc.so.29.4.0" not found, required by "protoc-c"
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/dns/bind-tools/work/bind-9.20.10/lib/dns
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/dns/bind-tools/work/bind-9.20.10/lib
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/dns/bind-tools/work/bind-9.20.10/lib
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/dns/bind-tools/work/bind-9.20.10
*** Error code 1

Stop.
make: stopped in /usr/ports/dns/bind-tools/work/bind-9.20.10
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/dns/bind-tools
*** Error code 1

Stop.
make: stopped in /usr/ports/dns/bind-tools

In the system the library libprotoc.so is at version libprotoc.so.29.5.0.

Code:
# find /usr/local -name 'libprotoc.so*'
/usr/local/lib/libprotoc.so.29.5.0
/usr/local/lib/libprotoc.so

# ls /usr/local/lib/libprotoc.so
lrwxr-xr-x 1 root wheel 19 2025.07.05 11:28 /usr/local/lib/libprotoc.so -> libprotoc.so.29.5.0

# pkg which /usr/local/lib/libprotoc.so
/usr/local/lib/libprotoc.so was installed by package protobuf-29.5,1

# pkg query '%o' protobuf
devel/protobuf

Currently in the system is installed the port dns/bind918 and it is stale too (need updating). The content of Makefile of the port dns/bind-tools is:

Makefile:
# Define PORTREVISION in ${MASTERDIR}

.ifdef BIND_TOOLS_DEVEL
MASTERDIR=    ${.CURDIR}/../../dns/bind9-devel

PLIST=        ${.CURDIR}/pkg-plist-devel
.else
MASTERDIR=    ${.CURDIR}/../../dns/bind920

PLIST=        ${.CURDIR}/pkg-plist
.endif
DESCR=        ${.CURDIR}/pkg-descr

BIND_TOOLS_SLAVE=    YES

PORTSCOUT=    ignore:1

.include "${MASTERDIR}/Makefile"

I need to change version of bind from dns/bind918 to dns/bind920? But the error does not seams related to bind version.
 
I had to specify that all the ports was updated with command

Code:
# portmaster -a -x bind-tools -x bind918

so I have only those two ports out-of-date. Now I run

Code:
# portmaster devel/protobuf-c

It rebuilt 39 ports

Code:
...
===>>> protobuf-c-1.5.1_2 >> devel/doxygen >> print/tex-formats >> print/texlive-base >> graphics/poppler (31/39)

===>>> Returning to dependency check for graphics/poppler
===>>> Dependency check complete for graphics/poppler

===>>> protobuf-c-1.5.1_2 >> devel/doxygen >> print/tex-formats >> print/texlive-base >> graphics/poppler (31/39)

===>  Cleaning for poppler-25.04.0_2
===>>> Logging build to /tmp/port_log-3310-poppler.CaR0iNRBF3
===>  License GPLv2 accepted by the user
===>   poppler-25.04.0_2 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by poppler-25.04.0_2 for building
===>  Extracting for poppler-25.04.0_2
=> SHA256 Checksum OK for poppler-25.04.0.tar.xz.
===>>> Building the port required 81 seconds
===>>> Starting check for runtime dependencies
===>>> Gathering dependency list for graphics/poppler from ports
===>>> Dependency check complete for graphics/poppler

===>>> protobuf-c-1.5.1_2 >> devel/doxygen >> print/tex-formats >> print/texlive-base >> graphics/poppler (31/39)

===>>> Logging install to /tmp/port_log-3310-poppler.CaR0iNRBF3

===>>> Installation of graphics/poppler (poppler-25.04.0_2) succeeded


===>>> protobuf-c-1.5.1_2 >> devel/doxygen >> print/tex-formats >> print/texlive-base (20/39)

===>>> Returning to dependency check for print/texlive-base
===>>> Launching child to install print/harfbuzz-icu

===>>> protobuf-c-1.5.1_2 >> devel/doxygen >> print/tex-formats >> print/texlive-base >> print/harfbuzz-icu (32/39)

===>>> Port directory: /usr/ports/print/harfbuzz-icu

===>>> Starting check for build dependencies
===>>> Gathering dependency list for print/harfbuzz-icu from ports
===>>> Dependency check complete for print/harfbuzz-icu

===>>> protobuf-c-1.5.1_2 >> devel/doxygen >> print/tex-formats >> print/texlive-base >> print/harfbuzz-icu (32/39)

===>  Cleaning for harfbuzz-icu-10.3.0
===>>> Logging build to /tmp/port_log-3310-harfbuzz-icu.6EOJa4hty6
===>  License MIT accepted by the user
===>   harfbuzz-icu-10.3.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by harfbuzz-icu-10.3.0 for building
===>  Extracting for harfbuzz-icu-10.3.0
=> SHA256 Checksum OK for harfbuzz-10.3.0.tar.xz.

...

===>>> Done displaying pkg-message files

===>>> The following actions were performed:
        Installation of print/psutils (psutils-1.17_6)
        Installation of textproc/uchardet (uchardet-0.0.8_1)
        Installation of textproc/groff (groff-1.23.0_5)
        Installation of x11-toolkits/libXmu (libXmu-1.1.4,1)
        Installation of x11/libXpm (libXpm-3.5.17_1)
        Installation of x11-toolkits/libXaw (libXaw-1.0.16,2)
        Installation of graphics/graphviz (graphviz-12.2.1_2)
        Installation of devel/tex-kpathsea (tex-kpathsea-6.4.1)
        Installation of devel/zziplib (zziplib-0.13.80)
        Installation of math/mpfi (mpfi-1.5.4)
        Installation of print/tex-ptexenc (tex-ptexenc-1.5.1)
        Installation of devel/tex-web2c (tex-web2c-20250308)
        Installation of print/tex-dvipsk (tex-dvipsk-20250308)
        Installation of print/tex-basic-engines (tex-basic-engines-20250308)
        Installation of devel/t1lib (t1lib-5.1.2_5,1)
        Installation of graphics/libpotrace (libpotrace-1.16)
        Installation of devel/gperf (gperf-3.2.1_1)
        Installation of devel/nspr (nspr-4.36)
        Installation of devel/npth (npth-1.8)
        Installation of security/libassuan (libassuan-3.0.2)
        Installation of security/libksba (libksba-1.6.7)
        Installation of security/pinentry-curses (pinentry-curses-1.3.1)
        Installation of security/pinentry (pinentry-1.3.1_2)
        Installation of security/gnupg (gnupg-2.4.7)
        Installation of security/gpgme (gpgme-2.0.0)
        Installation of security/gpgmepp (gpgmepp-2.0.0)
        Installation of security/nss (nss-3.113.1)
        Installation of graphics/poppler (poppler-25.04.0_2)
        Installation of print/harfbuzz-icu (harfbuzz-icu-10.3.0)
        Installation of print/texlive-tlmgr (texlive-tlmgr-20250308)
        Installation of textproc/teckit (teckit-2.5.11_1)
        Installation of sysutils/p5-File-Which (p5-File-Which-1.27)
        Installation of devel/p5-File-HomeDir (p5-File-HomeDir-1.006)
        Installation of print/xpdfopen (xpdfopen-20250308)
        Installation of textproc/p5-YAML-Tiny (p5-YAML-Tiny-1.76)
        Installation of print/texlive-base (texlive-base-20250308_2)
        Installation of print/texlive-texmf (texlive-texmf-20250308)
        Installation of print/tex-formats (tex-formats-20250308)
        Installation of devel/doxygen (doxygen-1.9.6_3,2)
        Re-installation of protobuf-c-1.5.1_2

After this I updated the two bind ports (installed/updated 21 ports)

Code:
# portmaster -a
...
===>>> Done displaying pkg-message files

===>>> The following actions were performed:
        Upgrade of bind-tools-9.20.9 to bind-tools-9.20.10
        Installation of graphics/py-imagesize@py311 (py311-imagesize-1.4.1_1)
        Installation of textproc/py-alabaster@py311 (py311-alabaster-0.7.16)
        Installation of lang/cython@py311 (py311-cython-0.29.37_2)
        Installation of textproc/py-pystemmer@py311 (py311-pystemmer-2.0.1_1)
        Installation of textproc/py-snowballstemmer@py311 (py311-snowballstemmer-3.0.1)
        Installation of textproc/py-sphinxcontrib-applehelp@py311 (py311-sphinxcontrib-applehelp-2.0.0)
        Installation of textproc/py-sphinxcontrib-devhelp@py311 (py311-sphinxcontrib-devhelp-2.0.0)
        Installation of textproc/py-sphinxcontrib-htmlhelp@py311 (py311-sphinxcontrib-htmlhelp-2.1.0)
        Installation of textproc/py-sphinxcontrib-jsmath@py311 (py311-sphinxcontrib-jsmath-1.0.1_1)
        Installation of textproc/py-sphinxcontrib-qthelp@py311 (py311-sphinxcontrib-qthelp-2.0.0)
        Installation of textproc/py-sphinxcontrib-serializinghtml@py311 (py311-sphinxcontrib-serializinghtml-2.0.0)
        Installation of dns/py-idna@py311 (py311-idna-3.10)
        Installation of net/py-pysocks@py311 (py311-pysocks-1.7.1_1)
        Installation of net/py-urllib3@py311 (py311-urllib3-1.26.20,1)
        Installation of security/py-certifi@py311 (py311-certifi-2025.6.15)
        Installation of textproc/py-charset-normalizer@py311 (py311-charset-normalizer-3.4.2)
        Installation of www/py-requests@py311 (py311-requests-2.32.4)
        Installation of textproc/py-sphinx (py311-sphinx-5.3.0_3,1)
        Installation of textproc/py-sphinx_rtd_theme@py311 (py311-sphinx_rtd_theme-1.0.0_1)
        Upgrade of bind918-9.18.37 to bind918-9.18.37_1

As always your help is invaluable (SirDice)
 
Yes, I know, I have to review all the installed port options. However this machine is the server, it primarily has the DNS server (bind) and the HTTP server (apache). I install the documentation of all ports that has one (HTML, PDF, etc) and serve it by one apache virtual server specific for the documentation (all documentation, not only ports), so I prefer to access on local web the documentation, installing it on the server. I also install documentation of ports that are not explicitly installed on the server, for example devel/boost-docs.

Many thanks for your suggestions
 
It's up to you of course, I generally turn it off everywhere as it reduces the overal build times and I have no need for that type of documentation. I do leave "DOCS" on because I do want to keep the man pages at hand.
 
Back
Top