1. FreeBSD/KnotDNS

make, install まで。

https://www.knot-dns.cz/docs/2.4/html/installation.html

Knot DNS build system relies on these standard tools:

    make
    libtool
    autoconf >= 2.65

-- ToshinoriMaeno 2017-05-12 00:53:54

1.1. autoreconf

autoreconf -if

libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /usr/local/bin/automake-1.15 line 3936.
configure.ac:18: installing './compile'
configure.ac:13: installing './missing'
libtap/Makefile.am: installing './depcomp'

1.2. configure

  knot 2.4.3

    Target:   freebsd11.0 i386
    Compiler: gcc -std=gnu99
    CFLAGS:   -g -O2 -Wall -Werror=format-security -Werror=implicit -Wstrict-prototypes 
    LIBS:     -lpthread -lm  
    LibURCU:  -L/usr/local/lib -lurcu  
    GnuTLS:   -L/usr/local/lib -lgnutls -lnettle  -I/usr/local/include/p11-kit-1 
    Jansson:  -L/usr/local/lib -ljansson  
    Libedit:  -L/usr/local/lib -ledit -ltinfo  -I/usr/local/include/editline 
    LMDB:     shared  -llmdb 

    Sanitizer: 
    LibFuzzer: no

    Prefix:      NONE
    Run dir:     ${prefix}/var/run/knot
    Storage dir: ${prefix}/var/lib/knot
    Config dir:  ${prefix}/etc/knot

    Configuration DB mapsize: 500 MiB
    Timers DB mapsize:        100 MiB

    Knot DNS libraries:     yes
    Knot DNS daemon:        yes
    Knot DNS utils:         yes
    Knot DNS documentation: yes

    Use recvmmsg:        yes
    Use SO_REUSEPORT:    no
    Fast zone parser:    yes
    Utilities with IDN:  yes
    Systemd integration: no
    Dnstap support:      no
    Code coverage:       no
    Bash completions:    no
    PKCS #11 support:    yes

  Continue with 'make' command


1.3. make

/make

 CC       libknot/packet/libknot_la-compr.lo
In file included from libknot/packet/compr.c:22:
./libknot/packet/pkt.h:97: error: redefinition of typedef 'knot_pkt_t'
./libknot/rrtype/opt.h:33: error: previous declaration of 'knot_pkt_t' was here
*** Error code 1

これはtypedefの重複を避けることで回避したが、...

1.4. libuv

https://www.freshports.org/devel/libuv/

root@f:/usr/ports/devel/libuv # make install
===>  Installing for libuv-1.11.0
===>  Checking if libuv already installed
===>   Registering installation for libuv-1.11.0
Installing libuv-1.11.0...
===> SECURITY REPORT: 
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/lib/libuv.so.1.0.0

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage: 
https://github.com/libuv/libuv

1.5. liburcu

===>  Installing for liburcu-0.9.3
===>  Checking if liburcu already installed
===>   liburcu-0.9.3 is already installed