4.1.0 build fails on FreeBSD: mz_strm_os_posix.c:93:42: error: use of undeclared identifier 'S_IWUSR'
```
[ 59% 16/22] /usr/bin/cc -DHAVE_BZIP2 -DHAVE_ICONV -DHAVE_INTTYPES_H -DHAVE_LZMA -DHAVE_PKCRYPT -DHAVE_STDINT_H -DHAVE_WZAES -DHAVE_ZLIB -DHAVE_ZSTD -DLZMA_API_STATIC -DMZ_EXPORTS -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_LARGEFILE64_SOURCE -D_POSIX_C_SOURCE=200809L -D__USE_LARGEFILE64 -I/usr/local/include -I/tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0 -I/tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0/compat -I/tmp/work/usr/ports/archivers/minizip-ng/work/.build -O2 -pipe -march=core2 -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -march=core2 -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -std=gnu99 -fPIC -MD -MT CMakeFiles/minizip-ng.dir/mz_strm_os_posix.c.o -MF CMakeFiles/minizip-ng.dir/mz_strm_os_posix.c.o.d -o CMakeFiles/minizip-ng.dir/mz_strm_os_posix.c.o -c /tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0/mz_strm_os_posix.c
FAILED: [code=1] CMakeFiles/minizip-ng.dir/mz_strm_os_posix.c.o
/usr/bin/cc -DHAVE_BZIP2 -DHAVE_ICONV -DHAVE_INTTYPES_H -DHAVE_LZMA -DHAVE_PKCRYPT -DHAVE_STDINT_H -DHAVE_WZAES -DHAVE_ZLIB -DHAVE_ZSTD -DLZMA_API_STATIC -DMZ_EXPORTS -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_LARGEFILE64_SOURCE -D_POSIX_C_SOURCE=200809L -D__USE_LARGEFILE64 -I/usr/local/include -I/tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0 -I/tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0/compat -I/tmp/work/usr/ports/archivers/minizip-ng/work/.build -O2 -pipe -march=core2 -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -march=core2 -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -DNDEBUG -std=gnu99 -fPIC -MD -MT CMakeFiles/minizip-ng.dir/mz_strm_os_posix.c.o -MF CMakeFiles/minizip-ng.dir/mz_strm_os_posix.c.o.d -o CMakeFiles/minizip-ng.dir/mz_strm_os_posix.c.o -c /tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0/mz_strm_os_posix.c
/tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0/mz_strm_os_posix.c:93:32: error: use of undeclared identifier 'S_IRUSR'
93 | fd = open(path, mode_open, S_IRUSR | S_IWUSR | S_IRGRP);
| ^
/tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0/mz_strm_os_posix.c:93:42: error: use of undeclared identifier 'S_IWUSR'
93 | fd = open(path, mode_open, S_IRUSR | S_IWUSR | S_IRGRP);
| ^
/tmp/work/usr/ports/archivers/minizip-ng/work/minizip-ng-4.1.0/mz_strm_os_posix.c:93:52: error: use of undeclared identifier 'S_IRGRP'
93 | fd = open(path, mode_open, S_IRUSR | S_IWUSR | S_IRGRP);
| ^
3 errors generated.
```
Fastfix:
```
--- mz_strm_os_posix.c.orig 2026-01-21 21:52:59 UTC
+++ mz_strm_os_posix.c
@@ -21,6 +21,9 @@
#include <errno.h>
#include <unistd.h> // open, close, ...
#include <fcntl.h> // O_NOFOLLOW, ...
+#ifdef __FreeBSD__
+#include <sys/stat.h>
+#endif
/***************************************************************************/
```
关闭于 2026-01-30 4 条评论