这几天在编译时候老是报下面这个错误:
In file included from /usr/include/bits/posix1_lim.h:160:0, from /usr/include/limits.h:144, from /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/limits.h:168, from /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/syslimits.h:7, from /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/limits.h:34, from ./e_os.h:13, from apps/apps.h:13, from apps/app_rand.c:10: /usr/include/bits/local_lim.h:38:26: fatal error: linux/limits.h: No such file or directory #include <linux/limits.h> ^ compilation terminated. make[1]: *** [apps/app_rand.o] Error 1 make[1]: Leaving directory `/usr/local/src/openssl-1.1.1g' make: *** [all] 错误 2
查看网上都是直接安装 apt-get install linux-libc-dev:amd64。但发现并没有更新任何软件包。意思是安装了这个包,但是却没有在/usr/include/linux/路径下生成应该生成的limits.h文件。于是考虑将linux-libc-dev:amd64卸载后再重新安装。注意在卸载linux-libc-dev:amd64的时候还会卸载相关的几个包(大概7个左右,具体忘记了)。等卸载完成后,apt-get install linux-libc-dev:amd64,安装包,之后再将之前卸载的那几个相关的包一一安装上
然而我发现这个办法在centeros 根本不能用,最后发现只需要执行
yum install -y kernel-headers
搞定 开始愉快的编译吧。