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 
                       ^
compilation terminated.

解决办法

修改 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 文件:

vim libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc

首先注释掉 #include 这行内容(158 行左右):

Linux下gcc编译报错:fatal error: sys/ustat.h: No such file or directory 解决办法_第1张图片
接着在 250 行左右修改 unsigned struct_ustat_sz = sizeof(struct ustat); 语句,改为如下内容:

  // Use pre-computed size of struct ustat to avoid  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;

改动如下:

Linux下gcc编译报错:fatal error: sys/ustat.h: No such file or directory 解决办法_第2张图片

保存并退出,重新 make

你可能感兴趣的:(Ubuntu,MatConvNet环境搭建,linux,gnu)