Send kea-dev mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.isc.org/mailman/listinfo/kea-dev
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of kea-dev digest..."


Today's Topics:

   1.  Building KEA on OpenBSD (Patrik Lundin)
   2. Re:  Building KEA on OpenBSD (Mike)


----------------------------------------------------------------------

Message: 1
Date: Sun, 6 Dec 2015 17:36:17 +0100
From: Patrik Lundin <[email protected]>
To: [email protected]
Subject: [kea-dev] Building KEA on OpenBSD
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii

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_st
 ats_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' 
libk
 ea_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' 
libk
 ea_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' 
libk
 ea_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


------------------------------

Message: 2
Date: Sun, 6 Dec 2015 12:02:09 -0500
From: Mike <[email protected]>
To: [email protected]
Subject: Re: [kea-dev] Building KEA on OpenBSD
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252

On 12/6/2015 11:36 AM, Patrik Lundin wrote:
> 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:
> ===
> [major snip]


Last week I wrote a quick script (more of a sketch than a script) to
download and build kea 0.9.2 on OpenBSD 5.8 current.  All the tests
pass.  Specifically, here's the test that fails in your test:

START TEST keactrl.start_all_servers_no_verbose_test
Creating Kea configuration file:
/home/kea-build/kea-0.9.2/src/bin/keactrl/tests/test_config.json.
Creating keactrl configuration file:
/home/kea-build/kea-0.9.2/src/bin/keactrl/tests/keactrl_test.conf.
Kea log will be stored in
/home/kea-build/kea-0.9.2/src/bin/keactrl/tests/test.log.
Starting Kea: /home/kea-build/kea-0.9.2/src/bin/keactrl/keactrl start -c
/home/kea-build/kea-0.9.2/src/bin/keactrl/tests/keactrl_test.conf -s all
INFO/keactrl: Starting kea-dhcp4 -c
/home/kea-build/kea-0.9.2/src/bin/keactrl/tests/test_config.json
INFO/keactrl: Starting kea-dhcp6 -c
/home/kea-build/kea-0.9.2/src/bin/keactrl/tests/test_config.json
INFO/keactrl: Starting kea-dhcp-ddns -c
/home/kea-build/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/kea-build/kea-0.9.2/src/bin/keactrl/keactrl stop  -c
/home/kea-build/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: .
PASSED keactrl.start_all_servers_no_verbose_test




I have not yet had the chance to set up an environment to see if the kea
I build actually works beyond passing the tests. :)  I hope to get there
in the next couple of weeks...



If it helps, here is the script I use:

V====

# cat /etc/pkg.conf
installpath =
http://mirrors.nycbug.org/pub/OpenBSD/snapshots/packages/amd64/


^====



V====

# cat mk-kea.sh

#!/bin/sh

set -e
#set -xv

KeaBuildDir=/home/kea-build

KeaVersion="0.9.2"
KeaFileName="kea-${KeaVersion}"
KeaArchive="${KeaFileName}.tar.gz"
KeaURL="http://ftp.isc.org/isc/kea/${KeaVersion}/${KeaArchive}";



echo "0 - create build environment"
echo "1 - download kea"
echo "2 - untar kea"
echo "3 - install pkgs"
echo "4 - configure and compile kea"
echo "5 - check kea"
echo "6 - install kea"

echo "Enter number or ctrl-C"
read DoWhat

case ${DoWhat} in
0)
        echo create
        test ! -e ${KeaBuildDir} && mkdir -p ${KeaBuildDir}
        ;;

1)
        echo download
        cd ${KeaBuildDir}
        curl -o ${KeaArchive} ${KeaURL}
        ;;

2)
        echo untar
        cd ${KeaBuildDir}
        tar -xzvf ${KeaArchive}
        ;;

3)
        echo pkgs
        pkg_add -v automake boost bzip2 gtest libtool log4cplus
        ;;

4)
        echo configure and compile
        cd ${KeaBuildDir}/${KeaFileName}
        ./configure
        make
        ;;

5)
        echo check
        cd ${KeaBuildDir}/${KeaFileName}
        make check
        ;;

6)
        echo install
        cd ${KeaBuildDir}/${KeaFileName}
        make install
        ;;

esac

echo "=fini="


exit 0


^====










------------------------------

_______________________________________________
kea-dev mailing list
[email protected]
https://lists.isc.org/mailman/listinfo/kea-dev

End of kea-dev Digest, Vol 21, Issue 4
**************************************

Reply via email to