Hi, I'm getting build failures with pkgsrc wm/cde on recent NetBSD-9.4.
This seems to be related to SSP hardening, so not sure if this change
is recent with this version of NetBSD.
This package used to build OK on NetBSD-9.3. Has anything changed with
regard to getcwd() on NetBSD-9.4?
Configure script checks if getcwd() is implemented, doesn't find it and
provides its own implementation, which then conflicts with symbols in
/usr/include/ssp/unistd.h
iffe: test: syscall(SYS_getcwd,buf,len) implemented ... no
iffe: test: is ( _lib_sysgetcwd ) true ... no
iffe: test: is ( _lib_sysgetcwd ) true ... no
+ cc -D_BLD_DLL -fPIC -D_BLD_ast -DSHOPT_DYNAMIC=1 -DSHOPT_NAMESPACE=1
-DSHOPT_MULTIBYTE=1 -DSHOPT_STATS=1 -DSHOPT_BGX=1 -DSHOPT_AUDIT=1 -DSHOPT_KIA=1
-DSHOPT_HISTEXPAND=1 -DSHOPT_EDPREDICT=1 -DSHOPT_ESH=1 -DSHOPT_VSH=1
-DSHOPT_FIXEDARRAY=1 -DSHOPT_SUID_EXEC=1 -DSHOPT_BRACEPAT=1 -DSHOPT_ECHOPRINT=1
-I.
-I/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast
-Icomp
-I/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/comp
-Idir
-I/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/dir
-Iinclude
-I/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/include
-Istd
-I/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/std
-D_PACKAGE_ast -c
/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/misc/getcwd.c
/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/misc/getcwd.c:144:1:
error: redefinition of 'getcwd'
getcwd(char* buf, size_t len)
^~~~~~
In file included from /usr/include/ssp/strings.h:34:0,
from /usr/include/strings.h:72,
from /usr/include/string.h:98,
from ./ast_sys.h:10,
from
/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/include/ast_std.h:64,
from
/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/include/ast.h:32,
from
/opt/netbsd/pkg.objects/wm/cde/work.ultra10/cde-2.5.2/programs/dtksh/ksh93/src/lib/libast/misc/getcwd.c:26:
/usr/include/ssp/unistd.h:45:1: note: previous definition of 'getcwd' was here
__ssp_redirect_raw(char *, getcwd, getcwd, (char *__buf, size_t __len),
^
mamake [lib/libast]: *** exit code 1 making getcwd.o