Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Nov 2015 05:37:04 GMT
From:      pkg-fallout@FreeBSD.org
To:        pkg-fallout@FreeBSD.org
Subject:   [package - head-mips-default][devel/libtai] Failed for libtai-0.60_5 in package
Message-ID:  <201511260537.tAQ5b40l045348@beefy7.nyi.freebsd.org>

next in thread | raw e-mail | index | archive | help

You are receiving this mail as a port that you maintain
is failing to build on the FreeBSD package build server.
Please investigate the failure and submit a PR to fix
build.

Maintainer:     rodrigo@FreeBSD.org
Last committer: rodrigo@FreeBSD.org
Ident:          $FreeBSD: head/devel/libtai/Makefile 391354 2015-07-05 08:48:50Z rodrigo $
Log URL:        http://beefy7.nyi.freebsd.org/data/head-mips-default/p402431_s291353/logs/libtai-0.60_5.log
Build URL:      http://beefy7.nyi.freebsd.org/build.html?mastername=head-mips-default&build=p402431_s291353
Log:

====>> Building devel/libtai
build started at Thu Nov 26 05:33:54 UTC 2015
port directory: /usr/ports/devel/libtai
building for: FreeBSD head-mips-default-job-17 11.0-CURRENT FreeBSD 11.0-CURRENT r291353 mips
maintained by: rodrigo@FreeBSD.org
Makefile ident:      $FreeBSD: head/devel/libtai/Makefile 391354 2015-07-05 08:48:50Z rodrigo $
Poudriere version: 3.1.10
Host OSVERSION: 1100085
Jail OSVERSION: 1100090




!!! Jail is newer than host. (Jail: 1100090, Host: 1100085) !!!
!!! This is not supported. !!!
!!! Host kernel must be same or newer than jail. !!!
!!! Expect build failures. !!!



---Begin Environment---
SHELL=/bin/csh
UNAME_p=mips
UNAME_m=mips
ABI_FILE=/usr/lib/crt1.o
OSVERSION=1100090
UNAME_v=FreeBSD 11.0-CURRENT r291353
UNAME_r=11.0-CURRENT
BLOCKSIZE=K
MAIL=/var/mail/root
STATUS=1
SAVED_TERM=screen
QEMU_EMULATING=1
MASTERMNT=/usr/local/poudriere/data/.m/head-mips-default/ref
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
POUDRIERE_BUILD_TYPE=bulk
PKGNAME=libtai-0.60_5
OLDPWD=/
PWD=/usr/local/poudriere/data/.m/head-mips-default/ref/.p/pool
MASTERNAME=head-mips-default
SCRIPTPREFIX=/usr/local/share/poudriere
USER=root
HOME=/root
POUDRIERE_VERSION=3.1.10
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
LIBEXECPREFIX=/usr/local/libexec/poudriere
LOCALBASE=/usr/local
PACKAGE_BUILDING=yes
---End Environment---

---Begin OPTIONS List---
---End OPTIONS List---

--CONFIGURE_ARGS--

--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/devel/libtai/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/devel/libtai/work  HOME=/wrkdirs/usr/ports/devel/libtai/work TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--

--MAKE_ENV--
LIBVERSION="1" XDG_DATA_HOME=/wrkdirs/usr/ports/devel/libtai/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/devel/libtai/work  HOME=/wrkdirs/usr/ports/devel/libtai/work TMPDIR="/tmp" NO_PIE=yes SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  LIBDIR="/usr/lib"  CC="/nxb-bin/usr/bin/cc" CFLAGS="-O2 -pipe -G0  -fno-strict-aliasing"  CPP="/nxb-bin/usr/bin/cpp" CPPFLAGS=""  LDFLAGS="" LIBS=""  CXX="/nxb-bin/usr/bin/c++" CXXFLAGS="-O2 -pipe -G0 -fno-strict-aliasing "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 444"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
LIBVERSION=1
LIBFILE=libtai
OSREL=11.0
PREFIX=%D
LOCALBASE=/usr/local
RESETPREFIX=/usr/local
PORTDOCS=""
PORTEXAMPLES=""
LIB32DIR=lib
DOCSDIR="share/doc/libtai"
EXAMPLESDIR="share/examples/libtai"
DATADIR="share/libtai"
WWWDIR="www/libtai"
ETCDIR="etc/libtai"
--End PLIST_SUB--

--SUB_LIST--
PREFIX=/usr/local
LOCALBASE=/usr/local
DATADIR=/usr/local/share/libtai
DOCSDIR=/usr/local/share/doc/libtai
EXAMPLESDIR=/usr/local/share/examples/libtai
WWWDIR=/usr/local/www/libtai
ETCDIR=/usr/local/etc/libtai
--End SUB_LIST--

---Begin make.conf---
CC=/nxb-bin/usr/bin/cc
CPP=/nxb-bin/usr/bin/cpp
CXX=/nxb-bin/usr/bin/c++
AS=/nxb-bin/usr/bin/as
NM=/nxb-bin/usr/bin/nm
LD=/nxb-bin/usr/bin/ld
OBJCOPY=/nxb-bin/usr/bin/objcopy
SIZE=/nxb-bin/usr/bin/size
STRIPBIN=/nxb-bin/usr/bin/strip
SED=/nxb-bin/usr/bin/sed
READELF=/nxb-bin/usr/bin/readelf
RANLIB=/nxb-bin/usr/bin/ranlib
YACC=/nxb-bin/usr/bin/yacc
NM=/nxb-bin/usr/bin/nm
MAKE=/nxb-bin/usr/bin/make
STRINGS=/nxb-bin/usr/bin/strings
AWK=/nxb-bin/usr/bin/awk
FLEX=/nxb-bin/usr/bin/flex
CC=/nxb-bin/usr/bin/cc
CPP=/nxb-bin/usr/bin/cpp
CXX=/nxb-bin/usr/bin/c++
AS=/nxb-bin/usr/bin/as
NM=/nxb-bin/usr/bin/nm
LD=/nxb-bin/usr/bin/ld
OBJCOPY=/nxb-bin/usr/bin/objcopy
SIZE=/nxb-bin/usr/bin/size
STRIPBIN=/nxb-bin/usr/bin/strip
SED=/nxb-bin/usr/bin/sed
READELF=/nxb-bin/usr/bin/readelf
RANLIB=/nxb-bin/usr/bin/ranlib
YACC=/nxb-bin/usr/bin/yacc
NM=/nxb-bin/usr/bin/nm
MAKE=/nxb-bin/usr/bin/make
STRINGS=/nxb-bin/usr/bin/strings
AWK=/nxb-bin/usr/bin/awk
FLEX=/nxb-bin/usr/bin/flex
CC=/nxb-bin/usr/bin/cc
CPP=/nxb-bin/usr/bin/cpp
CXX=/nxb-bin/usr/bin/c++
AS=/nxb-bin/usr/bin/as
NM=/nxb-bin/usr/bin/nm
LD=/nxb-bin/usr/bin/ld
OBJCOPY=/nxb-bin/usr/bin/objcopy
SIZE=/nxb-bin/usr/bin/size
STRIPBIN=/nxb-bin/usr/bin/strip
SED=/nxb-bin/usr/bin/sed
READELF=/nxb-bin/usr/bin/readelf
RANLIB=/nxb-bin/usr/bin/ranlib
YACC=/nxb-bin/usr/bin/yacc
NM=/nxb-bin/usr/bin/nm
MAKE=/nxb-bin/usr/bin/make
STRINGS=/nxb-bin/usr/bin/strings
AWK=/nxb-bin/usr/bin/awk
FLEX=/nxb-bin/usr/bin/flex
CC=/nxb-bin/usr/bin/cc
CPP=/nxb-bin/usr/bin/cpp
CXX=/nxb-bin/usr/bin/c++
AS=/nxb-bin/usr/bin/as
NM=/nxb-bin/usr/bin/nm
LD=/nxb-bin/usr/bin/ld
OBJCOPY=/nxb-bin/usr/bin/objcopy
SIZE=/nxb-bin/usr/bin/size
STRIPBIN=/nxb-bin/usr/bin/strip
SED=/nxb-bin/usr/bin/sed
READELF=/nxb-bin/usr/bin/readelf
RANLIB=/nxb-bin/usr/bin/ranlib
YACC=/nxb-bin/usr/bin/yacc
NM=/nxb-bin/usr/bin/nm
MAKE=/nxb-bin/usr/bin/make
STRINGS=/nxb-bin/usr/bin/strings
AWK=/nxb-bin/usr/bin/awk
FLEX=/nxb-bin/usr/bin/flex
CC=/nxb-bin/usr/bin/cc
CPP=/nxb-bin/usr/bin/cpp
CXX=/nxb-bin/usr/bin/c++
AS=/nxb-bin/usr/bin/as
NM=/nxb-bin/usr/bin/nm
LD=/nxb-bin/usr/bin/ld
OBJCOPY=/nxb-bin/usr/bin/objcopy
SIZE=/nxb-bin/usr/bin/size
STRIPBIN=/nxb-bin/usr/bin/strip
SED=/nxb-bin/usr/bin/sed
READELF=/nxb-bin/usr/bin/readelf
RANLIB=/nxb-bin/usr/bin/ranlib
YACC=/nxb-bin/usr/bin/yacc
NM=/nxb-bin/usr/bin/nm
MAKE=/nxb-bin/usr/bin/make
STRINGS=/nxb-bin/usr/bin/strings
AWK=/nxb-bin/usr/bin/awk
FLEX=/nxb-bin/usr/bin/flex
CC=/nxb-bin/usr/bin/cc
CPP=/nxb-bin/usr/bin/cpp
CXX=/nxb-bin/usr/bin/c++
AS=/nxb-bin/usr/bin/as
NM=/nxb-bin/usr/bin/nm
LD=/nxb-bin/usr/bin/ld
OBJCOPY=/nxb-bin/usr/bin/objcopy
SIZE=/nxb-bin/usr/bin/size
STRIPBIN=/nxb-bin/usr/bin/strip
SED=/nxb-bin/usr/bin/sed
READELF=/nxb-bin/usr/bin/readelf
RANLIB=/nxb-bin/usr/bin/ranlib
YACC=/nxb-bin/usr/bin/yacc
NM=/nxb-bin/usr/bin/nm
MAKE=/nxb-bin/usr/bin/make
STRINGS=/nxb-bin/usr/bin/strings
<snip>
READELF=/nxb-bin/usr/bin/readelf
RANLIB=/nxb-bin/usr/bin/ranlib
YACC=/nxb-bin/usr/bin/yacc
NM=/nxb-bin/usr/bin/nm
MAKE=/nxb-bin/usr/bin/make
STRINGS=/nxb-bin/usr/bin/strings
AWK=/nxb-bin/usr/bin/awk
FLEX=/nxb-bin/usr/bin/flex
---End make.nxb.conf---
=======================<phase: check-sanity   >============================
===========================================================================
=======================<phase: pkg-depends    >============================
===>   libtai-0.60_5 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-1.6.2.txz
[head-mips-default-job-17] Installing pkg-1.6.2...
[head-mips-default-job-17] Extracting pkg-1.6.2: .......... done
Message from pkg-1.6.2:
If you are upgrading from the old package format, first run:

  # pkg2ng
===>   libtai-0.60_5 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of libtai-0.60_5
===========================================================================
=======================<phase: fetch-depends  >============================
===========================================================================
=======================<phase: fetch          >============================
===> Fetching all distfiles required by libtai-0.60_5 for building
===========================================================================
=======================<phase: checksum       >============================
===> Fetching all distfiles required by libtai-0.60_5 for building
=> SHA256 Checksum OK for libtai-0.60.tar.gz.
===========================================================================
=======================<phase: extract-depends>============================
===========================================================================
=======================<phase: extract        >============================
===> Fetching all distfiles required by libtai-0.60_5 for building
===>  Extracting for libtai-0.60_5
=> SHA256 Checksum OK for libtai-0.60.tar.gz.
===========================================================================
=======================<phase: patch-depends  >============================
===========================================================================
=======================<phase: patch          >============================
===>  Patching for libtai-0.60_5
===>  Applying FreeBSD patches for libtai-0.60_5
===========================================================================
=======================<phase: build-depends  >============================
===========================================================================
=======================<phase: lib-depends    >============================
===========================================================================
=======================<phase: configure      >============================
===>  Configuring for libtai-0.60_5
===========================================================================
=======================<phase: build          >============================
===>  Building for libtai-0.60_5
nroff -man tai.3 > tai.0
nroff -man tai_now.3 > tai_now.0
nroff -man tai_pack.3 > tai_pack.0
nroff -man taia.3 > taia.0
nroff -man taia_now.3 > taia_now.0
nroff -man taia_pack.3 > taia_pack.0
nroff -man caldate.3 > caldate.0
nroff -man caldate_mjd.3 > caldate_mjd.0
nroff -man caltime.3 > caltime.0
nroff -man caltime_tai.3 > caltime_tai.0
nroff -man leapsecs.3 > leapsecs.0
( cat warn-auto.sh;  echo CC=\'`head -1 conf-cc`\';  echo LD=\'`head -1 conf-ld`\';  echo CCSO=\'`head -1 conf-ccso`\'  ) > auto-ccld.sh
cat auto-ccld.sh make-makelibso.sh > make-makelibso
chmod 755 make-makelibso
cat auto-ccld.sh find-systype.sh > find-systype
chmod 755 find-systype
./find-systype > systype
( cat warn-auto.sh; ./make-makelibso "`cat systype`" ) >  makelibso
chmod 755 makelibso
cat auto-ccld.sh make-compile.sh > make-compile
chmod 755 make-compile
( cat warn-auto.sh; ./make-compile "`cat systype`" ) >  compile
chmod 755 compile
./compile tai_add.c
./compile tai_now.c
tai_now.c: In function 'tai_now':
tai_now.c:7: warning: passing argument 1 of 'time' from incompatible pointer type
tai_now.c: In function 'tai_now':
tai_now.c:7: warning: passing argument 1 of 'time' from incompatible pointer type
./compile tai_pack.c
./compile tai_sub.c
./compile tai_unpack.c
./compile taia_add.c
./compile taia_approx.c
./compile taia_fmtfrac.c
./compile taia_frac.c
./compile taia_half.c
./compile taia_less.c
./compile taia_now.c
./compile taia_pack.c
./compile taia_sub.c
./compile taia_tai.c
./compile taia_unpack.c
./compile caldate_fmt.c
./compile caldate_scan.c
./compile caldate_fmjd.c
./compile caldate_mjd.c
./compile caldate_norm.c
./compile caldate_ster.c
./compile leapsecs_read.c
leapsecs_read.c: In function 'leapsecs_read':
leapsecs_read.c:32: warning: incompatible implicit declaration of built-in function 'malloc'
leapsecs_read.c: In function 'leapsecs_read':
leapsecs_read.c:32: warning: incompatible implicit declaration of built-in function 'malloc'
./compile leapsecs_init.c
./compile leapsecs_add.c
./compile leapsecs_sub.c
./compile caltime_fmt.c
./compile caltime_scan.c
./compile caltime_tai.c
./compile caltime_utc.c
./makelibso libtai.so tai_add.so tai_now.so tai_pack.so tai_sub.so tai_unpack.so taia_add.so taia_approx.so taia_fmtfrac.so taia_frac.so taia_half.so taia_less.so taia_now.so taia_pack.so taia_sub.so taia_tai.so taia_unpack.so caldate_fmt.so caldate_scan.so caldate_fmjd.so caldate_mjd.so caldate_norm.so caldate_ster.so leapsecs_read.so leapsecs_init.so leapsecs_add.so leapsecs_sub.so caltime_fmt.so caltime_scan.so caltime_tai.so caltime_utc.so
ln -sf libtai.so libtai.so.1
cat auto-ccld.sh make-makelib.sh > make-makelib
chmod 755 make-makelib
( cat warn-auto.sh; ./make-makelib "`cat systype`" ) >  makelib
chmod 755 makelib
./makelib libtai.a tai_add.o tai_now.o tai_pack.o tai_sub.o tai_unpack.o  taia_add.o taia_approx.o taia_fmtfrac.o taia_frac.o taia_half.o  taia_less.o taia_now.o taia_pack.o taia_sub.o taia_tai.o  taia_unpack.o caldate_fmt.o caldate_scan.o caldate_fmjd.o  caldate_mjd.o caldate_norm.o caldate_ster.o leapsecs_read.o  leapsecs_init.o leapsecs_add.o leapsecs_sub.o caltime_fmt.o  caltime_scan.o caltime_tai.o caltime_utc.o
cat auto-ccld.sh make-load.sh > make-load
chmod 755 make-load
( cat warn-auto.sh; ./make-load "`cat systype`" ) > load
chmod 755 load
./compile leapsecs.c
leapsecs.c: In function 'main':
leapsecs.c:27: warning: incompatible implicit declaration of built-in function 'exit'
leapsecs.c: In function 'main':
leapsecs.c:27: warning: incompatible implicit declaration of built-in function 'exit'
./load leapsecs -L. -ltai
./compile check.c
check.c: In function 'main':
check.c:49: warning: incompatible implicit declaration of built-in function 'exit'
check.c: In function 'main':
check.c:49: warning: incompatible implicit declaration of built-in function 'exit'
./load check -L. -ltai
./compile easter.c
easter.c: In function 'main':
easter.c:24: warning: incompatible implicit declaration of built-in function 'exit'
easter.c:29: warning: incompatible implicit declaration of built-in function 'exit'
easter.c: In function 'main':
easter.c:24: warning: incompatible implicit declaration of built-in function 'exit'
easter.c:29: warning: incompatible implicit declaration of built-in function 'exit'
./load easter -L. -ltai
./compile yearcal.c
yearcal.c: In function 'main':
yearcal.c:66: warning: incompatible implicit declaration of built-in function 'exit'
yearcal.c: In function 'main':
yearcal.c:66: warning: incompatible implicit declaration of built-in function 'exit'
./load yearcal -L. -ltai
./compile nowutc.c
nowutc.c: In function 'main':
nowutc.c:17: warning: incompatible implicit declaration of built-in function 'exit'
nowutc.c:36: warning: incompatible implicit declaration of built-in function 'exit'
nowutc.c: In function 'main':
nowutc.c:17: warning: incompatible implicit declaration of built-in function 'exit'
nowutc.c:36: warning: incompatible implicit declaration of built-in function 'exit'
./load nowutc -L. -ltai
===========================================================================
=======================<phase: run-depends    >============================
===========================================================================
=======================<phase: stage          >============================
===>  Staging for libtai-0.60_5
===>   Generating temporary packing list
install  -m 0644 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/leapsecs.dat /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/etc
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/caldate.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/caldate_mjd.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/caltime.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/caltime_tai.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/leapsecs.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/tai.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/tai_now.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/tai_pack.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/taia.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/taia_now.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/taia_pack.3 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/man/man3
install  -s -m 555 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/easter /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/bin
install  -s -m 555 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/nowutc /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/bin
install  -s -m 555 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/leapsecs /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/bin
install  -s -m 555 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/yearcal /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/bin
install  -m 0644 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/libtai.a /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/lib
install  -s -m 444 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/libtai.so.1 /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/lib
/bin/ln -sf libtai.so.1  /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/lib/libtai.so
install  -m 0644 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/caldate.h /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/include/libtai
install  -m 0644 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/caltime.h /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/include/libtai
install  -m 0644 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/leapsecs.h /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/include/libtai
install  -m 0644 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/tai.h /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/include/libtai
install  -m 0644 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/taia.h /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/include/libtai
install  -m 0644 /wrkdirs/usr/ports/devel/libtai/work/libtai-0.60/uint64.h /wrkdirs/usr/ports/devel/libtai/work/stage/usr/local/include/libtai
====> Compressing man pages (compress-man)
===========================================================================
=======================<phase: package        >============================
===>  Building package for libtai-0.60_5
pkg-static: "/var/run/ld-elf.so.hints": invalid file format
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/libtai



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511260537.tAQ5b40l045348>