Bug 219914

Summary: sysutils/pefs-kmod implicit declaration of function 'vm_object_cache_is_empty' is invalid
Product: Ports & Packages Reporter: rcarter
Component: Individual Port(s)Assignee: Gleb Kurtsou <gleb>
Status: Closed Overcome By Events    
Severity: Affects Only Me CC: brnrd, churchers, ebay, kmoore, w.schwarzenfeld
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description rcarter 2017-06-10 19:42:40 UTC
I used the silver searcher on r313908 and did not find the cited functions.  Here's the poudriere log:

====>> Building sysutils/pefs-kmod
build started at Sat Jun 10 03:14:30 MST 2017
port directory: /usr/ports/sysutils/pefs-kmod
building for: FreeBSD 11-stable-amd64-default-job-03 11.1-PRERELEASE FreeBSD 11.1-PRERELEASE 1100514 amd64
maintained by: gleb@FreeBSD.org
Makefile ident:      $FreeBSD: head/sysutils/pefs-kmod/Makefile 441849 2017-05-27 15:33:43Z linimon $
Poudriere version: 3.1.19
Host OSVERSION: 1100514
Jail OSVERSION: 1100514
Job Id: 03

---Begin Environment---
SHELL=/bin/csh
OSVERSION=1100514
UNAME_v=FreeBSD 11.1-PRERELEASE 1100514
UNAME_r=11.1-PRERELEASE
BLOCKSIZE=K
MAIL=/var/mail/root
STATUS=1
SAVED_TERM=
MASTERMNT=/ssd1/poudriere/data/.m/11-stable-amd64-default/ref
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
POUDRIERE_BUILD_TYPE=bulk
PKGNAME=pefs-kmod-2017.02.19
OLDPWD=/
PWD=/ssd1/poudriere/data/.m/11-stable-amd64-default/ref/.p/pool
MASTERNAME=11-stable-amd64-default
SCRIPTPREFIX=/usr/local/share/poudriere
USER=root
HOME=/root
POUDRIERE_VERSION=3.1.19
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
LIBEXECPREFIX=/usr/local/libexec/poudriere
LOCALBASE=/usr/local
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---

---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
---End Poudriere Port Flags/Env---

---Begin OPTIONS List---
===> The following configuration options are available for pefs-kmod-2017.02.19:
     AESNI=off: Enable AES-NI hardware acceleration
===> Use 'make config' to modify these settings
---End OPTIONS List---

--CONFIGURE_ARGS--

--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/sysutils/pefs-kmod/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/sysutils/pefs-kmod/work  HOME=/wrkdirs/usr/ports/sysutils/pefs-kmod/work TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--

--MAKE_ENV--
BINDIR="/usr/local/sbin" MANDIR="/usr/local/man/man"  NO_MANCOMPRESS= KMODDIR="/boot/modules" SYSDIR="/usr/src/sys" NO_XREF=yes XDG_DATA_HOME=/wrkdirs/usr/ports/sysutils/pefs-kmod/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/sysutils/pefs-kmod/work  HOME=/wrkdirs/usr/ports/sysutils/pefs-kmod/work TMPDIR="/tmp" NO_PIE=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  LIBDIR="/usr/lib"  CC="cc" CFLAGS="-O2 -pipe  -fno-strict-aliasing"  CPP="cpp" CPPFLAGS=""  LDFLAGS="" LIBS=""  CXX="c++" CXXFLAGS="-O2 -pipe -fno-strict-aliasing "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
KMODDIR="boot/modules"
OSREL=11.1
PREFIX=%D
LOCALBASE=/usr/local
RESETPREFIX=/usr/local
PORTDOCS=""
PORTEXAMPLES=""
LIB32DIR=lib
DOCSDIR="share/doc/pefs"
EXAMPLESDIR="share/examples/pefs"
DATADIR="share/pefs"
WWWDIR="www/pefs"
ETCDIR="etc/pefs"
--End PLIST_SUB--

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

---Begin make.conf---
WITH_CCACHE_BUILD=yes
CCACHE_DIR=/root/.ccache
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
FORCE_PACKAGE=yes
PACKAGE_BUILDING=yes
#### /usr/local/etc/poudriere.d/make.conf ####
# 8/2016 libressl upgrades breaks too many ports
WITH_OPENSSL_PORT=      yes
OPENSSL_PORT=           security/openssl
# See ~ports/Mk/bsd.default-versions.mk
DEFAULT_VERSIONS=gcc=6 pgsql=9.6 php=7.1 ssl=openssl lua=5.3
# https://www.mail-archive.com/freebsd-emulation@freebsd.org/msg06550.html
#DEFAULT_VERSIONS+=python=3.5
#DEFAULT_VERSIONS+=linux=c7
#  Set this to the list of ports you wish to rebuild every time the
#  kernel is built.
PORTS_MODULES=nvidia-driver-340  nvidia-driver virtualbox-ose-kmod sysutils/vm-bhyve sysutils/pefs-kmod
DISABLE_LICENSES=yes
MAKE_JOBS_NUMBER=7#### /usr/ports/Mk/Scripts/ports_env.sh ####
ARCH=amd64
CONFIGURE_MAX_CMD_LEN=262144
HAVE_COMPAT_IA32_KERN=YES
OPSYS=FreeBSD
OSREL=11.1
OSVERSION=1100514
PYTHONBASE=/usr/local
UID=0
_JAVA_OS_LIST_REGEXP=native\|linux
_JAVA_VENDOR_LIST_REGEXP=openjdk\|oracle\|sun
_JAVA_VERSION_LIST_REGEXP=1.6\|1.7\|1.8\|1.6+\|1.7+\|1.8+
_OSRELEASE=11.1-PRERELEASE
#### Misc Poudriere ####
GID=0
---End make.conf---
--Resource limits--
cpu time               (seconds, -t)  unlimited
file size           (512-blocks, -f)  unlimited
data seg size           (kbytes, -d)  33554432
stack size              (kbytes, -s)  524288
core file size      (512-blocks, -c)  unlimited
max memory size         (kbytes, -m)  unlimited
locked memory           (kbytes, -l)  unlimited
max user processes              (-u)  89999
open files                      (-n)  1024
virtual mem size        (kbytes, -v)  unlimited
swap limit              (kbytes, -w)  unlimited
socket buffer size       (bytes, -b)  unlimited
pseudo-terminals                (-p)  unlimited
kqueues                         (-k)  unlimited
umtx shared locks               (-o)  unlimited
--End resource limits--
=======================<phase: check-sanity   >============================
===========================================================================
=======================<phase: pkg-depends    >============================
===>   pefs-kmod-2017.02.19 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-1.10.1.txz
[11-stable-amd64-default-job-03] Installing pkg-1.10.1...
[11-stable-amd64-default-job-03] Extracting pkg-1.10.1: .......... done
===>   pefs-kmod-2017.02.19 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of pefs-kmod-2017.02.19
===========================================================================
=======================<phase: fetch-depends  >============================
===========================================================================
=======================<phase: fetch          >============================
===> Fetching all distfiles required by pefs-kmod-2017.02.19 for building
===========================================================================
=======================<phase: checksum       >============================
===> Fetching all distfiles required by pefs-kmod-2017.02.19 for building
=> SHA256 Checksum OK for pefs-2017-02-19.tar.gz.
===========================================================================
=======================<phase: extract-depends>============================
===========================================================================
=======================<phase: extract        >============================
===> Fetching all distfiles required by pefs-kmod-2017.02.19 for building
===>  Extracting for pefs-kmod-2017.02.19
=> SHA256 Checksum OK for pefs-2017-02-19.tar.gz.
===========================================================================
=======================<phase: patch-depends  >============================
===========================================================================
=======================<phase: patch          >============================
===>  Patching for pefs-kmod-2017.02.19
===>  Applying FreeBSD patches for pefs-kmod-2017.02.19
===========================================================================
=======================<phase: build-depends  >============================
===>   pefs-kmod-2017.02.19 depends on file: /usr/local/bin/ccache - not found
===>   Installing existing package /packages/All/ccache-3.3.4_3.txz
[11-stable-amd64-default-job-03] Installing ccache-3.3.4_3...
[11-stable-amd64-default-job-03] Extracting ccache-3.3.4_3: ....... done
Create compiler links...
create symlink for cc
create symlink for cc (world)
create symlink for c++
create symlink for c++ (world)
create symlink for CC
create symlink for CC (world)
create symlink for clang
create symlink for clang (world)
create symlink for clang++
create symlink for clang++ (world)
Message from ccache-3.3.4_3:
NOTE:
Please read /usr/local/share/doc/ccache/ccache-howto-freebsd.txt for
information on using ccache with FreeBSD ports and src.
===>   pefs-kmod-2017.02.19 depends on file: /usr/local/bin/ccache - found
===>   Returning to build of pefs-kmod-2017.02.19
===========================================================================
=======================<phase: lib-depends    >============================
===========================================================================
=======================<phase: configure      >============================
===>  Configuring for pefs-kmod-2017.02.19
===========================================================================
=======================<phase: build          >============================
===>  Building for pefs-kmod-2017.02.19
===> sys/modules/pefs (all)
machine -> /usr/src/sys/amd64/include
x86 -> /usr/src/sys/x86/include
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h
Warning: Object directory not changed from original /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs
/usr/local/bin/ccache cc -O2 -pipe -fno-strict-aliasing  -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../ -I. -I/usr/src/sys -fno-common  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  -MD  -MF.depend.pefs_subr.o -MTpefs_subr.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__  -Wmissing-include-dirs -fdiagnostics-show-option  -Wno-unknown-pragmas  -Wno-error-tautological-compare -Wno-error-empty-body  -Wno-error-parentheses-equality -Wno-error-unused-function  -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-error-address-of-packed-member  -mno-aes -mno-avx  -std=iso9899:1999 -c /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_subr.c -o pefs_subr.o
/usr/local/bin/ccache cc -O2 -pipe -fno-strict-aliasing  -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../ -I. -I/usr/src/sys -fno-common  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  -MD  -MF.depend.pefs_vfsops.o -MTpefs_vfsops.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__  -Wmissing-include-dirs -fdiagnostics-show-option  -Wno-unknown-pragmas  -Wno-error-tautological-compare -Wno-error-empty-body  -Wno-error-parentheses-equality -Wno-error-unused-function  -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-error-address-of-packed-member  -mno-aes -mno-avx  -std=iso9899:1999 -c /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vfsops.c -o pefs_vfsops.o
/usr/local/bin/ccache cc -O2 -pipe -fno-strict-aliasing  -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../ -I. -I/usr/src/sys -fno-common  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  -MD  -MF.depend.pefs_vnops.o -MTpefs_vnops.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__  -Wmissing-include-dirs -fdiagnostics-show-option  -Wno-unknown-pragmas  -Wno-error-tautological-compare -Wno-error-empty-body  -Wno-error-parentheses-equality -Wno-error-unused-function  -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-error-address-of-packed-member  -mno-aes -mno-avx  -std=iso9899:1999 -c /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vnops.c -o pefs_vnops.o
/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2068:7: error: implicit declaration of function 'vm_object_cache_is_empty' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
            !vm_object_cache_is_empty(object)
             ^
/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2068:7: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2463:6: error: implicit declaration of function 'vm_page_is_cached' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        if (vm_page_is_cached(vp->v_object, idx)) {
            ^
/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2463:6: note: did you mean 'vm_page_is_valid'?
/usr/src/sys/vm/vm_page.h:496:5: note: 'vm_page_is_valid' declared here
int vm_page_is_valid (vm_page_t, int, int);
    ^
/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2463:6: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
        if (vm_page_is_cached(vp->v_object, idx)) {
            ^
/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2466:3: error: implicit declaration of function 'vm_page_cache_free' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                vm_page_cache_free(vp->v_object, idx, idx + 1);
                ^
/wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2466:3: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
6 errors generated.
*** Error code 1

Stop.
make[2]: stopped in /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19/sys/modules/pefs
*** Error code 1

Stop.
make[1]: stopped in /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-02-19
*** Error code 1

Stop.
make: stopped in /usr/ports/sysutils/pefs-kmod
====>> Cleaning up wrkdir
===>  Cleaning for pefs-kmod-2017.02.19
build of sysutils/pefs-kmod ended at Sat Jun 10 03:14:33 MST 2017
build time: 00:00:03
!!! build failure encountered !!!
Comment 1 Kris Moore freebsd_committer freebsd_triage 2017-07-12 00:19:12 UTC
Should be fixed by latest update.

https://svnweb.freebsd.org/ports?view=revision&revision=445555
Comment 2 Adam McDougall 2017-07-12 12:54:41 UTC
The port update did not fix it for me:

(00:00:05) /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-06-20/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2068:7: error: implicit declaration of function 'vm_object_cache_is_empty' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
(00:00:06)             !vm_object_cache_is_empty(object)
(00:00:06)              ^
(00:00:06) /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-06-20/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2068:7: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
(00:00:06) /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-06-20/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2463:6: error: implicit declaration of function 'vm_page_is_cached' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
(00:00:06)         if (vm_page_is_cached(vp->v_object, idx)) {
(00:00:06)             ^
(00:00:06) /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-06-20/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2463:6: note: did you mean 'vm_page_is_valid'?
(00:00:06) /usr/src/sys/vm/vm_page.h:496:5: note: 'vm_page_is_valid' declared here
(00:00:06) int vm_page_is_valid (vm_page_t, int, int);
(00:00:06)     ^
(00:00:06) /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-06-20/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2463:6: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
(00:00:06)         if (vm_page_is_cached(vp->v_object, idx)) {
(00:00:06)             ^
(00:00:06) /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-06-20/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2466:3: error: implicit declaration of function 'vm_page_cache_free' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
(00:00:06)                 vm_page_cache_free(vp->v_object, idx, idx + 1);
(00:00:06)                 ^
(00:00:06) /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-06-20/sys/modules/pefs/../../fs/pefs/pefs_vnops.c:2466:3: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
(00:00:06) 6 errors generated.
(00:00:06) *** Error code 1
(00:00:06) 
(00:00:06) Stop.
(00:00:06) make[2]: stopped in /wrkdirs/usr/ports/sysutils/pefs-kmod/work/pefs-2017-06-20/sys/modules/pefs
(00:00:06) *** Error code 1
Comment 3 Adam McDougall 2017-07-12 13:03:06 UTC
might be helpful to say this was in a poudriere jail of 11.1-PRERELEASE (-stable) r318854. If it is checking for a newer build, I'm willing to upgrade.
Comment 4 Adam McDougall 2017-08-29 17:45:49 UTC
I did some more investigation, I think the timetable is like this:

__FreeBSD_version bumped to 1100513 on May 11 by r319278
Breaking commit was May 23 by r318716
I'm running May 26 r318855
__FreeBSD_version bumped to 1100514 on May 31
Bug report opened on June 10
PEFS commit fixes issue on June 15
PEFS release contains fix on June 20
PEFS port upgraded with fixed version on July 11

None of my PEFS compiles since the port upgrade have worked because my build was in the unlucky 8 days between __FreeBSD_version bumps. Therefore if I upgrade my build to June or later I should be good. Documenting this in case it helps someone else.
Comment 5 Adam McDougall 2017-11-27 02:42:12 UTC
I believe this can be closed.
Comment 6 Walter Schwarzenfeld freebsd_triage 2018-02-12 21:29:37 UTC
See comment4 and  comment5. No reply from reporter since more than a half year.
So I close here. If there still problems, please re-open.