Someone on the main CDE SourceForge message board helped me with the following fix for dtksh failing to build:
$ cat cde-2.3.0-fmtdev.c.patch
--- a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtdev.c 2019-08-02 08:05:30.130385082 -0400
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtdev.c 2019-08-02 08:06:40.333766407 -0400
@@ -93,6 +93,7 @@
#include <ast.h>
#include <ctype.h>
#include <ls.h>
+#include <sys/sysmacros.h>
char*
fmtdev PARAM((struct stat* st), (st)) OTORP(struct stat* st;){
Someone on the main CDE SourceForge message board helped me with the following fix for dtksh failing to build:
$ cat cde-2.3.0-fmtdev.c.patch
--- a/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtdev.c 2019-08-02 08:05:30.130385082 -0400
+++ b/cde/programs/dtksh/ksh93/src/lib/libast/string/fmtdev.c 2019-08-02 08:06:40.333766407 -0400
@@ -93,6 +93,7 @@
#include <ast.h>
#include <ctype.h>
#include <ls.h>
+#include <sys/sysmacros.h>
char*
fmtdev PARAM((struct stat* st), (st)) OTORP(struct stat* st;){