strange build error in usr.sbin/makefs (unknown type name 'bool')

Marcin Cieslak <[email protected]>
Newsgroups gmane.os.freebsd.current
Message-ID <[email protected]>
I am trying to rebuild the world from some old 15.x version
to 1b69ade6b5e8665dfb4d0cb683854705192a68 and the build fails with not knowing "bool" type.

using FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)

===> usr.sbin/mailwrapper (all)
===> usr.sbin/makefs (all)
cc -target x86_64-unknown-freebsd16.0 --sysroot=/big/obj/usr/src/amd64.amd64/tmp -B/big/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie -DPIC   -O2 -pipe -fno-common   -I/usr/src/usr.sbin/makefs -I/usr/src/usr.sbin/makefs/zfs  -I/usr/src/stand/libsa  -I/usr/src/sys/cddl/boot -DHAVE_ZFS -I/usr/src/sys/fs/cd9660/ -DMAKEFS -D_WANT_MSDOSFS_INTERNALS -I/usr/src/sys/fs/msdosfs -I/usr/src/sbin/newfs_msdos -DHAVE_STRUCT_STAT_ST_FLAGS=1 -I/usr/src/contrib/mtree -I/usr/src/contrib/mknod -I/usr/src/lib/libnetbsd -fPIE -g -gz=zlib -MD  -MF.depend.cd9660.pieo -MTcd9660.pieo -std=gnu17 -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 -Wswitc
 h -Wshadow -Wunused-parameter -Wchar-subscripts -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-st!
 ring-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-parameter -Wno-error=cast-function-type-mismatch  -Qunused-arguments      -c /usr/src/usr.sbin/makefs/cd9660.c -o cd9660.pieo
In file included from /usr/src/usr.sbin/makefs/cd9660.c:102:
/usr/src/stand/libsa/ctype.h:169:5: error: type name requires a specifier or qualifier
   169 |     bool        (*dv_match)(struct devsw *, const char *);
       |     ^
/usr/src/stand/libsa/ctype.h:169:12: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
   169 |     bool        (*dv_match)(struct devsw *, const char *);
       |                   ^
       |                  int
/usr/src/stand/libsa/ctype.h:177:12: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
   177 | extern int errno;
       |            ^
/big/obj/usr/src/amd64.amd64/tmp/usr/include/sys/errno.h:45:26: note: expanded from macro 'errno'
    45 | #define errno           (* __error())
       |                                   ^
In file included from /usr/src/usr.sbin/makefs/cd9660.c:102:
/usr/src/stand/libsa/ctype.h:512:1: error: unknown type name 'bool'
   512 | bool is_tftp(void);
       | ^
/usr/src/stand/libsa/ctype.h:515:68: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
   515 | typedef void (feature_iter_fn)(void *, const char *, const char *, bool);
       |                                                                    ^
       |                                                                    int
/usr/src/stand/libsa/ctype.h:518:8: error: unknown type name 'bool'
   518 | extern bool feature_name_is_enabled(const char *);
       |        ^
In file included from /usr/src/usr.sbin/makefs/cd9660.c:105:
In file included from /usr/src/lib/libnetbsd/util.h:38:
/big/obj/usr/src/amd64.amd64/tmp/usr/include/libutil.h:108:6: error: conflicting types for 'hexdump'
   108 | void    hexdump(const void *_ptr, int _length, const char *_hdr, int _flags);
       |         ^
/usr/src/stand/libsa/ctype.h:530:6: note: previous declaration is here
   530 | void    hexdump(caddr_t region, size_t len);
       |         ^
In file included from /usr/src/usr.sbin/makefs/cd9660.c:105:
/usr/src/lib/libnetbsd/util.h:49:1: error: unknown type name 'FILE'
    49 | FILE    *efopen(const char *, const char *);
       | ^
In file included from /usr/src/usr.sbin/makefs/cd9660.c:108:
/usr/src/usr.sbin/makefs/cd9660.h:307:36: error: unknown type name 'FILE'
   307 | int     cd9660_write_generic_bootimage(FILE *);
       |                                        ^
/usr/src/usr.sbin/makefs/cd9660.h:308:39: error: unknown type name 'FILE'
   308 | int     cd9660_write_boot(iso9660_disk *, FILE *);
       |                                           ^
/usr/src/usr.sbin/makefs/cd9660.h:319:38: error: unknown type name 'FILE'
   319 | int     cd9660_copy_file(iso9660_disk *, FILE *, off_t, const char *);
       |                                          ^
/usr/src/usr.sbin/makefs/cd9660.h:329:35: error: unknown type name 'FILE'
   329 | void    debug_dump_to_xml_path_table(FILE *, off_t, int, int);
       |                                      ^
/usr/src/usr.sbin/makefs/cd9660.h:330:24: error: unknown type name 'FILE'
   330 | void    debug_dump_to_xml(FILE *);
       |                           ^
/usr/src/usr.sbin/makefs/cd9660.c:478:8: error: use of undeclared identifier 'EXIT_FAILURE'
   478 |                 errx(EXIT_FAILURE, "allow-multidot requires iso level of 2");
       |                      ^
/usr/src/usr.sbin/makefs/cd9660.c:511:8: error: use of undeclared identifier 'EXIT_FAILURE'
   511 |                 errx(EXIT_FAILURE, "%s: converted directory is empty. "
       |                      ^
/usr/src/usr.sbin/makefs/cd9660.c:514:8: error: use of undeclared identifier 'EXIT_FAILURE'
   514 |                 errx(EXIT_FAILURE, "%s: tree conversion failed", __func__);
       |                      ^
/usr/src/usr.sbin/makefs/cd9660.c:546:9: error: use of undeclared identifier 'EXIT_FAILURE'
   546 |                         errx(EXIT_FAILURE, "setup_boot failed");
       |                              ^
/usr/src/usr.sbin/makefs/cd9660.c:1341:3: error: use of undeclared identifier 'EXIT_FAILURE'
  1341 |                 CD9660_MEM_ALLOC_ERROR(__func__);
       |                 ^
/usr/src/usr.sbin/makefs/cd9660.h:96:9: note: expanded from macro 'CD9660_MEM_ALLOC_ERROR'
    96 |     err(EXIT_FAILURE, "%s, %s l. %d", _F, __FILE__, __LINE__)
       |         ^
/usr/src/usr.sbin/makefs/cd9660.c:1437:6: error: use of undeclared identifier 'EXIT_FAILURE'
  1437 |                                         CD9660_MEM_ALLOC_ERROR(__func__);
       |                                         ^
/usr/src/usr.sbin/makefs/cd9660.h:96:9: note: expanded from macro 'CD9660_MEM_ALLOC_ERROR'
    96 |     err(EXIT_FAILURE, "%s, %s l. %d", _F, __FILE__, __LINE__)
       |         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
*** Error code 1

Stop.
make[4]: stopped making "all" in /usr/src/usr.sbin/makefs
*** Error code 1

Stop.
make[3]: stopped making "all" in /usr/src/usr.sbin
*** Error code 1

Stop.
make[2]: stopped making "all" in /usr/src
       478,10 real        89,05 user       222,56 sys
*** Error code 1

Stop.
make[1]: stopped making "buildworld" in /usr/src
*** Error code 1

Stop.
make: stopped making "buildworld" in /usr/src

Command exit status: 1
Script done on Mon Jan  5 14:14:17 2026
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.