Linux下gcc编译报错:fatal error: sys/ustat.h: No such file or directory 解决办法
Posted Z.Q.Feng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下gcc编译报错:fatal error: sys/ustat.h: No such file or directory 解决办法相关的知识,希望对你有一定的参考价值。
文章目录
项目场景
报错如下:
../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:159:
28: fatal error: sys/ustat.h: No such file or directory
#include <sys/ustat.h>
^
compilation terminated.
解决办法
修改 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
文件:
vim libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
首先注释掉 #include <sys/ustat.h>
这行内容(158
行左右):
接着在 250
行左右修改 unsigned struct_ustat_sz = sizeof(struct ustat);
语句,改为如下内容:
// Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
// has been removed from glibc 2.28.
#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \\
|| defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \\
|| defined(__x86_64__)
#define SIZEOF_STRUCT_USTAT 32
#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \\
|| defined(__powerpc__) || defined(__s390__)
#define SIZEOF_STRUCT_USTAT 20
#else
#error Unknown size of struct ustat
#endif
unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
改动如下:
保存并退出,重新 make
。
以上是关于Linux下gcc编译报错:fatal error: sys/ustat.h: No such file or directory 解决办法的主要内容,如果未能解决你的问题,请参考以下文章
错误记录编译 Linux 内核报错 ( fatal error: openssl/opensslv.h: No such file or directory )
ndk-build 编译报错 fatal error: error writing to -: Invalid argument } ^
ffmpeg交叉编译报错:aarch64-mix210-linux-gcc: error: missing argument to ‘-mcpu=‘
ffmpeg交叉编译报错:aarch64-mix210-linux-gcc: error: missing argument to ‘-mcpu=‘
C语言编译报错:fatal error: mutex: No such file or directory
错误记录编译 ijkplayer 报错 (fatal error: ijksoundtouch/ijksoundtouch_wrap.h: No such file or directory )