Do not build snprintf. Instead use the one in glibc. This avoids an implicit function declaration of vsprintf. snprintf is only called from db.1.85/btree/bt_open.c, and the length checking in the glibc implementation seems harmless there. diff -ur db-5.3.28.orig/db.1.85/PORT/linux/Makefile db-5.3.28/db.1.85/PORT/linux/Makefile --- db-5.3.28.orig/db.1.85/PORT/linux/Makefile 2022-12-10 12:29:48.599322424 +0100 +++ db-5.3.28/db.1.85/PORT/linux/Makefile 2022-12-10 12:35:08.415288426 +0100 @@ -11,7 +11,7 @@ OBJ5= rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \ rec_seq.o rec_utils.o -MISC= snprintf.o +MISC= ${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} rm -f $@