make报错:fatal error:sys/sysctl.h:No such file or directory
执行make操作,报出fatal error:sys/sysctl.h:No such file or directory
问题处理
这个报错的主要原因是随着 glibc 2.32 的发布,Linux 系统删除了sys/sysctl.h。
Linux Kernel 5.5 最终消除了支持 sysctl 系统调用的代码,该代码已被弃用了大约十年,目前对任何架构的现代系统都没有影响。
查看系统版本:
可见Linux版本超过了5.5, 系统已经删除了 sys/sysctl.h
注释掉src/os/unix/ngx_linux_config.h中的 #include <sys/sysctl.h>
make 报错:error: this statement may fall through [-Werror=implicit-fallthrough=]
继续执行make操作,报出error: this statement may fall through [-Werror=implicit-fallthrough=]
问题处理
原因:表示打开gcc的所有警告 -Werror,它要求gcc将所有的警告当成错误进行处理
将 -Werror 直接去掉再重新make
其中:
-Wall 表示打开gcc的所有警告
-Werror,它要求gcc将所有的警告当成错误进行处理
打开:vim objs/Makefile 去掉-Werror即可
make报错:error: ‘struct crypt_data’ has no member named ‘current_salt’
继续执行make,报出error: ‘struct crypt_data’ has no member named ‘current_salt’
文章来源:https://www.toymoban.com/news/detail-445003.html
问题处理
原因:定义的crypt_data结构体中没有current_salt这个成员
处理:将有问题的那一行注释掉
进入到 src/os/unix/ngx_user.c中,注释掉第38行
文章来源地址https://www.toymoban.com/news/detail-445003.html
到了这里,关于Nginx make报错处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!