Re: lib/libsysdecode /usr/include/./sys/pioctl.h:45:2: error: "<sys/pioctl.h> is deprecated

From: Brooks Davis <brooks_at_freebsd.org>
Date: Thu, 9 Apr 2020 21:58:05 +0000
On Thu, Apr 09, 2020 at 11:49:47PM +0200, Julian H. Stacey wrote:
> Anyoe else seeing this on current ?
> 
> ===> lib/libsysdecode (all)
> env CPP="cpp" MK_PF="yes"  /bin/sh /usr/src/lib/libsysdecode/mkioctls /usr/include > ioctl.c.tmp
> In file included from <stdin>:97:
> /usr/include/./sys/pioctl.h:45:2: warning: "<sys/pioctl.h> is deprecated, ptrace() should be used instead"
>       [-W#warnings]
> #warning "<sys/pioctl.h> is deprecated, ptrace() should be used instead"
>  ^
> 1 warning generated.
> if [ ! -e ioctl.c ] || ! cmp -s ioctl.c ioctl.c.tmp; then  mv -f ioctl.c.tmp ioctl.c;  fi
> cc  -O2 -pipe -fno-common   -I/data/release/s1/usr/obj/usr/src/amd64.amd64/lib/libsysdecode -I/usr/src/sys -I/usr/src/libexec/rtld-elf -DPF -g -MD  -MF.depend.ioctl.o -MTioctl.o -std=gnu99 -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable  -Qunused-arguments    -c ioctl.c -o ioctl.o
> In file included from ioctl.c:126:
> /usr/include/./sys/pioctl.h:45:2: error: "<sys/pioctl.h> is deprecated, ptrace() should be used instead"
>       [-Werror,-W#warnings]
> #warning "<sys/pioctl.h> is deprecated, ptrace() should be used instead"

Hmm, I thought that the default removal of obsolete headers would at
least get right of the header in WORLDTMP, but now I'm wondering if
there's an additional boundary condition.  (I'm surprised there isn't a
--sysroot in your compiler command which is presumably why you're
getting the system sys/pioctl.h...)

You can do a clean build or work around it by removing ioctl.c in
<objpath>/lib/libsysdecode and <objpath>/obj-lib32/lib/libsysdecode.

-- Brooks

Received on Thu Apr 09 2020 - 19:58:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:23 UTC