On Sat, Dec 7, 2019 at 5:10 PM Jacob Adams <[email protected]> wrote:
> When trying to build libc with the latest security patch applied on my > beaglebone black, I was met with the following error: > > cc -O2 -pipe -g -Wimplicit -I/usr/src/lib/libc/include > -I/usr/src/lib/libc/hidden -D__LIBC__ > -Werror-implicit-function-declaration > -include namespace.h -Werror=deprecated-declarations -DAPIWARN -DYP > -I/usr/src/lib/libc/yp -DSOFTFLOAT_FOR_GCC -I/usr/src/lib/libc/softfloat > -I/usr/src/lib/libc -I/usr/src/lib/libc/gdtoa > -I/usr/src/lib/libc/arch/arm/gdtoa > -DINFNAN_CHECK -DMULTIPLE_THREADS -DNO_FENV_H -DUSE_LOCALE > -I/usr/src/lib/libc > -I/usr/src/lib/libc/citrus -DRESOLVSORT -DFLOATING_POINT -DPRINTF_WIDE_CHAR > -DSCANF_WIDE_CHAR -DFUTEX -MD -MP -c > /usr/src/lib/libc/db/btree/bt_close.c -o > bt_close.o > In file included from /usr/src/lib/libc/db/btree/bt_close.c:37: > /usr/src/lib/libc/hidden/stdlib.h:68:14: error: use of undeclared > identifier > 'calloc_conceal' > PROTO_NORMAL(calloc_conceal); > ^ > /usr/src/lib/libc/hidden/stdlib.h:109:14: error: use of undeclared > identifier > 'malloc_conceal' > PROTO_NORMAL(malloc_conceal); > ^ > 2 errors generated. > *** Error 1 in /usr/src/lib/libc (<bsd.lib.mk>:39 'bt_close.o': @cc -O2 > -pipe -g > -Wimplicit -I/usr/src/lib/libc/include -I/usr/src/lib/libc/...) > > > I unpacked a copy of the 6.6 src.tar.gz that I had downloaded a while ago > in > /usr/src, and then updated to the stable branch with: > > cvs -qd [email protected]:/cvs up -Pd -rOPENBSD_6_6 > > I then ran: > > cd lib/libc > make obj > make > > and encountered this error. > > Clearly I've done something wrong, could someone please point me to my > mistake? > This box didn't have the 6.6 include files installed. This is demonstrated by the lack of a calloc_conceal() declaration in your /usr/include/stdlib.h. You can't just build 6.6 pieces without their dependent pieces being present. Now, unless you can explain _exactly_ how you ended up with this franken system (66 kernel but not include files?) and come up with a plan to get it out of the franken-state into a normal "matched kernel and userland, including compilation environment", then my recommendation would be to grab the 6.6 bsd.rd, boot to it, and (u)pgrade to 6.6 being sure to include the comp66 set in your install, and _then_ try building things...or just run syspatch. Philip Guenther

