[kea-dev] Building KEA on OpenBSD

Patrik Lundin patrik at sigterm.se
Sun Dec 6 16:36:17 UTC 2015


Hello,

I am working on a OpenBSD port for KEA 0.9.2 and I have some questions.

First of all, running tests currently fail, however it seems to be a
problem with the tests rather than the code being tested:
===
START TEST keactrl.start_all_servers_no_verbose_test
Creating Kea configuration file: /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/tests/test_config.json.
Creating keactrl configuration file: /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/tests/keactrl_test.conf.
Kea log will be stored in /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/tests/test.log.
Starting Kea: /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/keactrl start -c /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/tests/keactrl_test.conf -s all
INFO/keactrl: Starting kea-dhcp4 -c /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/tests/test_config.json
INFO/keactrl: Starting kea-dhcp6 -c /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/tests/test_config.json
INFO/keactrl: Starting kea-dhcp-ddns -c /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/tests/test_config.json
INFO/test_lib: wait_for_message DHCP6_CONFIG_COMPLETE: .
INFO/test_lib: wait_for_message DHCP4_CONFIG_COMPLETE: .
INFO/test_lib: wait_for_message DCTL_CONFIG_COMPLETE: ..
Stopping Kea: /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/keactrl stop  -c /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2/src/bin/keactrl/tests/keactrl_test.conf
INFO/keactrl: Stopping kea-dhcp4...
INFO/keactrl: Stopping kea-dhcp6...
INFO/keactrl: Stopping kea-dhcp-ddns...
INFO/test_lib: wait_for_message DHCP6_SHUTDOWN: .
INFO/test_lib: wait_for_message DHCP4_SHUTDOWN: .
INFO/test_lib: wait_for_message DHCP_DDNS_SHUTDOWN: .
INFO/test_lib: wait_for_server_down kea-dhcp: ......
Assertion failure: 1 != 0, for val1=1, val2=0
Expected wait_for_server_down return 1, returned 0
Log file dump:
2015-12-06 17:03:58.913 INFO  [kea-dhcp4.dhcp4/17706] DHCP4_STARTING Kea DHCPv4 server version 0.9.2 starting
2015-12-06 17:03:58.915 INFO  [kea-dhcp4.dhcpsrv/17706] DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT "dhcp-socket-type" not specified , using default socket type raw
2015-12-06 17:03:58.915 INFO  [kea-dhcp4.dhcp4/17706] DHCP4_CONFIG_NEW_SUBNET a new subnet has been added to configuration: 10.0.0.0/24 with params: t1=1000, t2=2000, valid-lifetime=4000
2015-12-06 17:03:58.916 INFO  [kea-dhcp4.dhcpsrv/17706] DHCPSRV_MEMFILE_DB opening memory file lease database: persist=false type=memfile universe=4
2015-12-06 17:03:58.916 WARN  [kea-dhcp4.dhcpsrv/17706] DHCPSRV_MEMFILE_NO_STORAGE running in non-persistent mode, leases will be lost after restart
2015-12-06 17:03:58.916 INFO  [kea-dhcp4.dhcp4/17706] DHCP4_CONFIG_COMPLETE DHCPv4 server has completed configuration: added IPv4 subnets: 1; DDNS: disabled
2015-12-06 17:03:58.916 WARN  [kea-dhcp4.dhcpsrv/17706] DHCPSRV_NO_SOCKETS_OPEN no interface configured to listen to DHCP traffic
2015-12-06 17:03:58.916 INFO  [kea-dhcp4.dhcp4/17706] DHCP4_STARTED Kea DHCPv4 server version 0.9.2 started
2015-12-06 17:03:58.939 INFO  [kea-dhcp6.dhcp6/2353] DHCP6_STARTING Kea DHCPv6 server version 0.9.2 starting
2015-12-06 17:03:58.941 INFO  [kea-dhcp6.dhcp6/2353] DHCP6_CONFIG_NEW_SUBNET a new subnet has been added to configuration: 2001:db8:1::/64 with params t1=1000, t2=2000, preferred-lifetime=3000, valid-lifetime=4000, rapid-commit is disabled
2015-12-06 17:03:58.942 INFO  [kea-dhcp6.dhcpsrv/2353] DHCPSRV_MEMFILE_DB opening memory file lease database: persist=false type=memfile universe=6
2015-12-06 17:03:58.942 WARN  [kea-dhcp6.dhcpsrv/2353] DHCPSRV_MEMFILE_NO_STORAGE running in non-persistent mode, leases will be lost after restart
2015-12-06 17:03:58.942 INFO  [kea-dhcp6.dhcp6/2353] DHCP6_CONFIG_COMPLETE DHCPv6 server has completed configuration: added IPv6 subnets: 1; DDNS: disabled
2015-12-06 17:03:58.942 WARN  [kea-dhcp6.dhcpsrv/2353] DHCPSRV_NO_SOCKETS_OPEN no interface configured to listen to DHCP traffic
2015-12-06 17:03:58.942 INFO  [kea-dhcp6.dhcp6/2353] DHCP6_STARTED Kea DHCPv6 server version 0.9.2 started
2015-12-06 17:03:58.987 INFO  [kea-dhcp-ddns.dhcpddns/7216] DHCP_DDNS_STARTING DHCP-DDNS starting, pid: 7216, version: 0.9.2
2015-12-06 17:03:58.987 INFO  [kea-dhcp-ddns.dhcpddns/7216] DCTL_CONFIG_COMPLETE server has completed configuration: listening on 127.0.0.1, port 53001, using UDP
2015-12-06 17:03:58.988 INFO  [kea-dhcp-ddns.dhcpddns/7216] DHCP_DDNS_STARTED Kea DHCP-DDNS server version 0.9.2 started
2015-12-06 17:04:03.065 INFO  [kea-dhcp4.dhcp4/17706] DHCP4_SHUTDOWN server shutdown
2015-12-06 17:04:03.079 INFO  [kea-dhcp6.dhcp6/2353] DHCP6_SHUTDOWN server shutdown
2015-12-06 17:04:03.099 INFO  [kea-dhcp-ddns.dhcpddns/7216] DHCP_DDNS_SHUTDOWN DHCP-DDNS has shut down
FAILED keactrl.start_all_servers_no_verbose_test

*** Error 1 in src/bin/keactrl/tests (Makefile:681 'check-local')
*** Error 1 in src/bin/keactrl/tests (Makefile:551 'check-am')
*** Error 1 in src/bin/keactrl/tests (Makefile:428 'check-recursive')
*** Error 1 in src/bin/keactrl (Makefile:550 'check-recursive')
*** Error 1 in src/bin/keactrl (Makefile:674 'check')
*** Error 1 in src/bin (Makefile:420 'check-recursive')
*** Error 1 in src (Makefile:423 'check-recursive')
*** Error 1 in /home/usr/ports/pobj/kea-0.9.2/kea-0.9.2 (Makefile:880 'check-recursive')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2804 '/usr/ports/pobj/kea-0.9.2/.test_done')
*** Error 1 in /usr/ports/net/kea (/usr/ports/infrastructure/mk/bsd.port.mk:2491 'test')
===

The functions involved are defined in src/lib/testutils/dhcp_test_lib.sh.

It fails because "wait_for_server_down kea-dhcp" never thinks the
processes are gone. The problem is that wait_for_server_down() calls
"get_pids ${proc_name}", and get_pids() in turn does this:
===
_GET_PIDS=$( ps axwwo pid,command | grep ${proc_name} | grep -v grep | awk '{print $1}' )
===

The "command" keyword includes arguments, and if i run "ps axwwo
pid,command | grep kea-dhcp" while wait_for_server_down() is timing out,
the following is shown:
===
15869 make mkdir_p=mkdir -p -- LIBTOOL=/usr/bin/libtool LIBkea-asiodns_LTVERSION=-version-info 0:0:0 libkea_asiodns_ltversion=0.0 LIBkea-asiolink_LTVERSION=-version-info 0:0:0 libkea_asiolink_ltversion=0.0 LIBkea-cc_LTVERSION=-version-info 0:0:0 libkea_cc_ltversion=0.0 LIBkea-cfgclient_LTVERSION=-version-info 0:0:0 libkea_cfgclient_ltversion=0.0 LIBkea-cryptolink_LTVERSION=-version-info 0:0:0 libkea_cryptolink_ltversion=0.0 LIBkea-dhcp++_LTVERSION=-version-info 0:0:0 libkea_dhcp___ltversion=0.0 LIBkea-dhcp_ddns_LTVERSION=-version-info 0:0:0 libkea_dhcp_ddns_ltversion=0.0 LIBkea-dhcpsrv_LTVERSION=-version-info 0:0:0 libkea_dhcpsrv_ltversion=0.0 LIBkea-dns++_LTVERSION=-version-info 0:0:0 libkea_dns___ltversion=0.0 LIBkea-exceptions_LTVERSION=-version-info 0:0:0 libkea_exceptions_ltversion=0.0 LIBkea-hooks_LTVERSION=-version-info 0:0:0 libkea_hooks_ltversion=0.0 LIBkea-log_LTVERSION=-version-info 0:0:0 libkea_log_ltversion=0.0 LIBkea-stats_LTVERSION=-version-info 0:0:0 libkea_stats_ltversion=0.0 LIBkea-threads_LTVERSION=-version-info 0:0:0 libkea_threads_ltversion=0.0 LIBkea-util-io_LTVERSION=-version-info 0:0:0 libkea_util_io_ltversion=0.0 LIBkea-util_LTVERSION=-version-info 0:0:0 libkea_util_ltversion=0.0 SHARED_LIBS_LOG=/usr/ports/pobj/kea-0.9.2/kea-0.9.2/shared_libs.log -f Makefile check
18435 /bin/sh -ec cd /usr/ports/pobj/kea-0.9.2/kea-0.9.2 && exec 3>&1 && exit `exec 4>&1 1>&3;  (exec; set +e; /usr/bin/env -i CONFIG_SITE='/usr/ports/pobj/kea-0.9.2/config.site' PORTSDIR="/usr/ports" LIBTOOL="/usr/bin/libtool"  LIBkea-asiodns_LTVERSION='-version-info 0:0:0' libkea_asiodns_ltversion=0.0 LIBkea-asiolink_LTVERSION='-version-info 0:0:0' libkea_asiolink_ltversion=0.0 LIBkea-cc_LTVERSION='-version-info 0:0:0' libkea_cc_ltversion=0.0 LIBkea-cfgclient_LTVERSION='-version-info 0:0:0' libkea_cfgclient_ltversion=0.0 LIBkea-cryptolink_LTVERSION='-version-info 0:0:0' libkea_cryptolink_ltversion=0.0 LIBkea-dhcp++_LTVERSION='-version-info 0:0:0' libkea_dhcp___ltversion=0.0 LIBkea-dhcp_ddns_LTVERSION='-version-info 0:0:0' libkea_dhcp_ddns_ltversion=0.0 LIBkea-dhcpsrv_LTVERSION='-version-info 0:0:0' libkea_dhcpsrv_ltversion=0.0 LIBkea-dns++_LTVERSION='-version-info 0:0:0' libkea_dns___ltversion=0.0 LIBkea-exceptions_LTVERSION='-version-info 0:0:0' libkea_exceptions_ltversion=0.0 LIBkea-hooks_LTVERSION='-version-info 0:0:0' libkea_hooks_ltversion=0.0 LIBkea-log_LTVERSION='-version-info 0:0:0' libkea_log_ltversion=0.0 LIBkea-stats_LTVERSION='-version-info 0:0:0' libkea_stats_ltversion=0.0 LIBkea-threads_LTVERSION='-version-info 0:0:0' libkea_threads_ltversion=0.0 LIBkea-util-io_LTVERSION='-version-info 0:0:0' libkea_util_io_ltversion=0.0 LIBkea-util_LTVERSION='-version-info 0:0:0' libkea_util_ltversion=0.0 PATH='/usr/ports/pobj/kea-0.9.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/X11R6/bin' PREFIX='/usr/local'  LOCALBASE='/usr/local' DEPBASE='/usr/local' X11BASE='/usr/X11R6'  CFLAGS='-O2 -pipe'  TRUEPREFIX='/usr/local' DESTDIR=''  HOME='/kea-0.9.2_writes_to_HOME' COMPILER_VERSION=gcc4  PICFLAG="-fpic" ASPICFLAG=  BINGRP=bin BINOWN=root BINMODE=755 NONBINMODE=644  DIRMODE=755  INSTALL_COPY=-c INSTALL_STRIP=-s  MANGRP=bin MANOWN=root MANMODE=644 BSD_INSTALL_PROGRAM="/usr/ports/pobj/kea-0.9.2/bin/install -c -s  -m 755"  BSD_INSTALL_SCRIPT="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 755"  BSD_INSTALL_DATA="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 644"  BSD_INSTALL_MAN="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 644"  BSD_INSTALL_PROGRAM_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_SCRIPT_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_DATA_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_MAN_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  make  mkdir_p='mkdir -p --' LIBTOOL="/usr/bin/libtool"  LIBkea-asiodns_LTVERSION='-version-info 0:0:0' libkea_asiodns_ltversion=0.0 LIBkea-asiolink_LTVERSION='-version-info 0:0:0' libkea_asiolink_ltversion=0.0 LIBkea-cc_LTVERSION='-version-info 0:0:0' libkea_cc_ltversion=0.0 LIBkea-cfgclient_LTVERSION='-version-info 0:0:0' libkea_cfgclient_ltversion=0.0 LIBkea-cryptolink_LTVERSION='-version-info 0:0:0' libkea_cryptolink_ltversion=0.0 LIBkea-dhcp++_LTVERSION='-version-info 0:0:0' libkea_dhcp___ltversion=0.0 LIBkea-dhcp_ddns_LTVERSION='-version-info 0:0:0' libkea_dhcp_ddns_ltversion=0.0 LIBkea-dhcpsrv_LTVERSION='-version-info 0:0:0' libkea_dhcpsrv_ltversion=0.0 LIBkea-dns++_LTVERSION='-version-info 0:0:0' libkea_dns___ltversion=0.0 LIBkea-exceptions_LTVERSION='-version-info 0:0:0' libkea_exceptions_ltversion=0.0 LIBkea-hooks_LTVERSION='-version-info 0:0:0' libkea_hooks_ltversion=0.0 LIBkea-log_LTVERSION='-version-info 0:0:0' libkea_log_ltversion=0.0 LIBkea-stats_LTVERSION='-version-info 0:0:0' libkea_stats_ltversion=0.0 LIBkea-threads_LTVERSION='-version-info 0:0:0' libkea_threads_ltversion=0.0 LIBkea-util-io_LTVERSION='-version-info 0:0:0' libkea_util_io_ltversion=0.0 LIBkea-util_LTVERSION='-version-info 0:0:0' libkea_util_ltversion=0.0 SHARED_LIBS_LOG=/usr/ports/pobj/kea-0.9.2/kea-0.9.2/shared_libs.log  -f Makefile check;  echo $? >&4) 2>&1 | tee /usr/ports/pobj/kea-0.9.2/test.log`
29554 /bin/sh -ec cd /usr/ports/pobj/kea-0.9.2/kea-0.9.2 && exec 3>&1 && exit `exec 4>&1 1>&3;  (exec; set +e; /usr/bin/env -i CONFIG_SITE='/usr/ports/pobj/kea-0.9.2/config.site' PORTSDIR="/usr/ports" LIBTOOL="/usr/bin/libtool"  LIBkea-asiodns_LTVERSION='-version-info 0:0:0' libkea_asiodns_ltversion=0.0 LIBkea-asiolink_LTVERSION='-version-info 0:0:0' libkea_asiolink_ltversion=0.0 LIBkea-cc_LTVERSION='-version-info 0:0:0' libkea_cc_ltversion=0.0 LIBkea-cfgclient_LTVERSION='-version-info 0:0:0' libkea_cfgclient_ltversion=0.0 LIBkea-cryptolink_LTVERSION='-version-info 0:0:0' libkea_cryptolink_ltversion=0.0 LIBkea-dhcp++_LTVERSION='-version-info 0:0:0' libkea_dhcp___ltversion=0.0 LIBkea-dhcp_ddns_LTVERSION='-version-info 0:0:0' libkea_dhcp_ddns_ltversion=0.0 LIBkea-dhcpsrv_LTVERSION='-version-info 0:0:0' libkea_dhcpsrv_ltversion=0.0 LIBkea-dns++_LTVERSION='-version-info 0:0:0' libkea_dns___ltversion=0.0 LIBkea-exceptions_LTVERSION='-version-info 0:0:0' libkea_exceptions_ltversion=0.0 LIBkea-hooks_LTVERSION='-version-info 0:0:0' libkea_hooks_ltversion=0.0 LIBkea-log_LTVERSION='-version-info 0:0:0' libkea_log_ltversion=0.0 LIBkea-stats_LTVERSION='-version-info 0:0:0' libkea_stats_ltversion=0.0 LIBkea-threads_LTVERSION='-version-info 0:0:0' libkea_threads_ltversion=0.0 LIBkea-util-io_LTVERSION='-version-info 0:0:0' libkea_util_io_ltversion=0.0 LIBkea-util_LTVERSION='-version-info 0:0:0' libkea_util_ltversion=0.0 PATH='/usr/ports/pobj/kea-0.9.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/X11R6/bin' PREFIX='/usr/local'  LOCALBASE='/usr/local' DEPBASE='/usr/local' X11BASE='/usr/X11R6'  CFLAGS='-O2 -pipe'  TRUEPREFIX='/usr/local' DESTDIR=''  HOME='/kea-0.9.2_writes_to_HOME' COMPILER_VERSION=gcc4  PICFLAG="-fpic" ASPICFLAG=  BINGRP=bin BINOWN=root BINMODE=755 NONBINMODE=644  DIRMODE=755  INSTALL_COPY=-c INSTALL_STRIP=-s  MANGRP=bin MANOWN=root MANMODE=644 BSD_INSTALL_PROGRAM="/usr/ports/pobj/kea-0.9.2/bin/install -c -s  -m 755"  BSD_INSTALL_SCRIPT="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 755"  BSD_INSTALL_DATA="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 644"  BSD_INSTALL_MAN="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 644"  BSD_INSTALL_PROGRAM_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_SCRIPT_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_DATA_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_MAN_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  make  mkdir_p='mkdir -p --' LIBTOOL="/usr/bin/libtool"  LIBkea-asiodns_LTVERSION='-version-info 0:0:0' libkea_asiodns_ltversion=0.0 LIBkea-asiolink_LTVERSION='-version-info 0:0:0' libkea_asiolink_ltversion=0.0 LIBkea-cc_LTVERSION='-version-info 0:0:0' libkea_cc_ltversion=0.0 LIBkea-cfgclient_LTVERSION='-version-info 0:0:0' libkea_cfgclient_ltversion=0.0 LIBkea-cryptolink_LTVERSION='-version-info 0:0:0' libkea_cryptolink_ltversion=0.0 LIBkea-dhcp++_LTVERSION='-version-info 0:0:0' libkea_dhcp___ltversion=0.0 LIBkea-dhcp_ddns_LTVERSION='-version-info 0:0:0' libkea_dhcp_ddns_ltversion=0.0 LIBkea-dhcpsrv_LTVERSION='-version-info 0:0:0' libkea_dhcpsrv_ltversion=0.0 LIBkea-dns++_LTVERSION='-version-info 0:0:0' libkea_dns___ltversion=0.0 LIBkea-exceptions_LTVERSION='-version-info 0:0:0' libkea_exceptions_ltversion=0.0 LIBkea-hooks_LTVERSION='-version-info 0:0:0' libkea_hooks_ltversion=0.0 LIBkea-log_LTVERSION='-version-info 0:0:0' libkea_log_ltversion=0.0 LIBkea-stats_LTVERSION='-version-info 0:0:0' libkea_stats_ltversion=0.0 LIBkea-threads_LTVERSION='-version-info 0:0:0' libkea_threads_ltversion=0.0 LIBkea-util-io_LTVERSION='-version-info 0:0:0' libkea_util_io_ltversion=0.0 LIBkea-util_LTVERSION='-version-info 0:0:0' libkea_util_ltversion=0.0 SHARED_LIBS_LOG=/usr/ports/pobj/kea-0.9.2/kea-0.9.2/shared_libs.log  -f Makefile check;  echo $? >&4) 2>&1 | tee /usr/ports/pobj/kea-0.9.2/test.log`
18781 /bin/sh -ec cd /usr/ports/pobj/kea-0.9.2/kea-0.9.2 && exec 3>&1 && exit `exec 4>&1 1>&3;  (exec; set +e; /usr/bin/env -i CONFIG_SITE='/usr/ports/pobj/kea-0.9.2/config.site' PORTSDIR="/usr/ports" LIBTOOL="/usr/bin/libtool"  LIBkea-asiodns_LTVERSION='-version-info 0:0:0' libkea_asiodns_ltversion=0.0 LIBkea-asiolink_LTVERSION='-version-info 0:0:0' libkea_asiolink_ltversion=0.0 LIBkea-cc_LTVERSION='-version-info 0:0:0' libkea_cc_ltversion=0.0 LIBkea-cfgclient_LTVERSION='-version-info 0:0:0' libkea_cfgclient_ltversion=0.0 LIBkea-cryptolink_LTVERSION='-version-info 0:0:0' libkea_cryptolink_ltversion=0.0 LIBkea-dhcp++_LTVERSION='-version-info 0:0:0' libkea_dhcp___ltversion=0.0 LIBkea-dhcp_ddns_LTVERSION='-version-info 0:0:0' libkea_dhcp_ddns_ltversion=0.0 LIBkea-dhcpsrv_LTVERSION='-version-info 0:0:0' libkea_dhcpsrv_ltversion=0.0 LIBkea-dns++_LTVERSION='-version-info 0:0:0' libkea_dns___ltversion=0.0 LIBkea-exceptions_LTVERSION='-version-info 0:0:0' libkea_exceptions_ltversion=0.0 LIBkea-hooks_LTVERSION='-version-info 0:0:0' libkea_hooks_ltversion=0.0 LIBkea-log_LTVERSION='-version-info 0:0:0' libkea_log_ltversion=0.0 LIBkea-stats_LTVERSION='-version-info 0:0:0' libkea_stats_ltversion=0.0 LIBkea-threads_LTVERSION='-version-info 0:0:0' libkea_threads_ltversion=0.0 LIBkea-util-io_LTVERSION='-version-info 0:0:0' libkea_util_io_ltversion=0.0 LIBkea-util_LTVERSION='-version-info 0:0:0' libkea_util_ltversion=0.0 PATH='/usr/ports/pobj/kea-0.9.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/X11R6/bin' PREFIX='/usr/local'  LOCALBASE='/usr/local' DEPBASE='/usr/local' X11BASE='/usr/X11R6'  CFLAGS='-O2 -pipe'  TRUEPREFIX='/usr/local' DESTDIR=''  HOME='/kea-0.9.2_writes_to_HOME' COMPILER_VERSION=gcc4  PICFLAG="-fpic" ASPICFLAG=  BINGRP=bin BINOWN=root BINMODE=755 NONBINMODE=644  DIRMODE=755  INSTALL_COPY=-c INSTALL_STRIP=-s  MANGRP=bin MANOWN=root MANMODE=644 BSD_INSTALL_PROGRAM="/usr/ports/pobj/kea-0.9.2/bin/install -c -s  -m 755"  BSD_INSTALL_SCRIPT="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 755"  BSD_INSTALL_DATA="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 644"  BSD_INSTALL_MAN="/usr/ports/pobj/kea-0.9.2/bin/install -c  -m 644"  BSD_INSTALL_PROGRAM_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_SCRIPT_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_DATA_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  BSD_INSTALL_MAN_DIR="/usr/ports/pobj/kea-0.9.2/bin/install -d  -m 755"  make  mkdir_p='mkdir -p --' LIBTOOL="/usr/bin/libtool"  LIBkea-asiodns_LTVERSION='-version-info 0:0:0' libkea_asiodns_ltversion=0.0 LIBkea-asiolink_LTVERSION='-version-info 0:0:0' libkea_asiolink_ltversion=0.0 LIBkea-cc_LTVERSION='-version-info 0:0:0' libkea_cc_ltversion=0.0 LIBkea-cfgclient_LTVERSION='-version-info 0:0:0' libkea_cfgclient_ltversion=0.0 LIBkea-cryptolink_LTVERSION='-version-info 0:0:0' libkea_cryptolink_ltversion=0.0 LIBkea-dhcp++_LTVERSION='-version-info 0:0:0' libkea_dhcp___ltversion=0.0 LIBkea-dhcp_ddns_LTVERSION='-version-info 0:0:0' libkea_dhcp_ddns_ltversion=0.0 LIBkea-dhcpsrv_LTVERSION='-version-info 0:0:0' libkea_dhcpsrv_ltversion=0.0 LIBkea-dns++_LTVERSION='-version-info 0:0:0' libkea_dns___ltversion=0.0 LIBkea-exceptions_LTVERSION='-version-info 0:0:0' libkea_exceptions_ltversion=0.0 LIBkea-hooks_LTVERSION='-version-info 0:0:0' libkea_hooks_ltversion=0.0 LIBkea-log_LTVERSION='-version-info 0:0:0' libkea_log_ltversion=0.0 LIBkea-stats_LTVERSION='-version-info 0:0:0' libkea_stats_ltversion=0.0 LIBkea-threads_LTVERSION='-version-info 0:0:0' libkea_threads_ltversion=0.0 LIBkea-util-io_LTVERSION='-version-info 0:0:0' libkea_util_io_ltversion=0.0 LIBkea-util_LTVERSION='-version-info 0:0:0' libkea_util_ltversion=0.0 SHARED_LIBS_LOG=/usr/ports/pobj/kea-0.9.2/kea-0.9.2/shared_libs.log  -f Makefile check;  echo $? >&4) 2>&1 | tee /usr/ports/pobj/kea-0.9.2/test.log`
===

There are several "kea-dhcp" occurances in those arguments which has
nothing to do with the deamons being looked for. Replacing "ps" with
"pgrep" solves the problem and is a bit easier on the eyes, turning:
===
_GET_PIDS=$( ps axwwo pid,command | grep ${proc_name} | grep -v grep | awk '{print $1}' )
===
...into:
===
_GET_PIDS=$( pgrep ${proc_name} )
===

After doing this the tests succeed for me. Are there any platforms you
are targeting that dont have pgrep available by default?

Moving on, I notice there are some warnings thrown by the build.
The ones that makes me the most curious is the use of possibly weak random() calls:
===
dhcp6_srv.cc:(.gnu.linkonce.t._ZN3isc4util10fillRandomIPhEEvT_S3_+0x12): warning: warning: random() may return deterministic values, is that what you want?
test_control.cc:(.text+0xb787): warning: warning: rand() may return deterministic values, is that what you want?
===

I started looking at the first one, thinking a suitable solution would
be to make the configure script check for the availability of arc4random() and
arc4random_uniform(), using these instead if available.

However, reading the comments regarding fillRandom() in
src/lib/util/range_utilities.h it appears the function actually wants to
support deterministic results. Is this still true? Would I be causing
more harm than good if I was to start using always-random functions
there?

Finally, just to throw it out there, there are warnings regarding usage
of potentially unsafe functions in some places, not sure what your
stance are regarding these:
===
.libs/libkea-asiolink.so.0.0: warning: warning: strcat() is almost always misused, please use strlcat()
.libs/libkea-asiolink.so.0.0: warning: warning: sprintf() is often misused, please use snprintf()
.libs/libkea-asiolink.so.0.0: warning: warning: strcat() is almost always misused, please use strlcat()
.libs/libkea-asiolink.so.0.0: warning: warning: sprintf() is often misused, please use snprintf()
.libs/libkea-asiodns.so.0.0: warning: warning: strcat() is almost always misused, please use strlcat()
.libs/libkea-asiodns.so.0.0: warning: warning: sprintf() is often misused, please use snprintf()
.libs/libkea-asiolink.so.0.0: warning: warning: strcat() is almost always misused, please use strlcat()
.libs/libkea-asiolink.so.0.0: warning: warning: sprintf() is often misused, please use snprintf()
.libs/libkea-asiolink.so.0.0: warning: warning: strcat() is almost always misused, please use strlcat()
.libs/libkea-asiolink.so.0.0: warning: warning: sprintf() is often misused, please use snprintf()
===

I hope any of these findings are of interest for you :).

-- 
Patrik Lundin


More information about the kea-dev mailing list