回答
收藏
分享
举报
nginx 1.20 版本编译报错
提问于2021-06-02 16:00

浏览 4k

文章标签

cc -c -pipe -O -Wall -Wextra -Wpointer-arith -Wconditional-uninitialized -Wno-unused-parameter -Wno-deprecated-declarations -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \
-o objs/src/os/unix/ngx_files.o \
src/os/unix/ngx_files.c
src/os/unix/ngx_files.c:404:9: error: 'pwritev' is only available on macOS 11.0 or newer [-Werror,-Wunguarded-availability-new]
n = pwritev(file->fd, vec->iovs, vec->count, offset);
^~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/uio.h:104:9: note: 'pwritev' has been marked as being introduced in macOS 11.0 here, but the deployment target is macOS 10.14.0
ssize_t pwritev(int, const struct iovec *, int, off_t) __DARWIN_NOCANCEL(pwritev) __API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0));
^
src/os/unix/ngx_files.c:404:9: note: enclose 'pwritev' in a __builtin_available check to silence this warning
n = pwritev(file->fd, vec->iovs, vec->count, offset);
^~~~~~~
1 error generated.
make[1]: *** [objs/src/os/unix/ngx_files.o] Error 1
make: *** [build] Error 2


已修改于2023-03-17 02:11



写下您的回答
发表回答
全部回答(2)

按点赞数排序

按时间排序

src/os/unix/ngx_files.c:404:9: error: 'pwritev' is only available on macOS 11.0 or newer [-Werror,-Wunguarded-availability-new]
n = pwritev(file->fd, vec->iovs, vec->count, offset);
^~~~~~~

 error: 'pwritev' is only available on macOS 11.0 or newer [


是不是你的macos版本太低了?


赞同

0

回复举报

回答于2021-06-02 23:09



回复皮皮鲁
回复
LEESING回复了

我的操作系统是最新版的

0

回复举报

回答于2021-06-07 02:47



回复LEESING
回复
LEESING回复了


0

回复举报

回答于2021-06-07 02:48



回复LEESING
回复

使用操作系统是macos 11.4

赞同

0

回复举报

回答于2021-06-02 16:02



回复LEESING
回复
提问者
LEESING
这家伙很懒还未留下介绍~
0
文章
2
问答
0
粉丝
相关问答

这个模块修改了Nginx框架源码,所以你得先打patch,改完框架源码后,再用add-module来configure\make编译

点赞 0
浏览 4.1k

我重新下载openresty1.19.3.2

同样的操作也成功了,


点赞 0
浏览 7.4k

ngx时多进程架构的,reload会关闭当前进程,所以会断开keepalive的连接的。第一类问题如果出现频率比较高,可能是upstream服务或者中间网络某个环节有问题,第二类跟check模块有关,不是很了解。能复现的话建议抓包看看。

点赞 0
浏览 5.8k