结论先行:Ubuntu版本较高带来的问题,Ubuntu18.04(4.18.0) fail,Ubuntu16.04(4.8.0) pass。

1.已知的invalid use of ‘__builtin_va_arg_pack ()’问题

拿到CPU2017,直接使用示例文件Example-gcc-linux-x86.cfg进行test时,肯定会fail,部分原因,这篇文章已经提到一部分:https://blog.csdn.net/yi_1973/article/details/83150183,我这里的处理方法是先把216行开始的两部分合并,有啥负面影响再看吧

 216 intrate,intspeed=base: # flags for integer base217 #%if %{bits} == 32218     EXTRA_COPTIMIZE = -fgnu89-inline -fno-strict-aliasing219 #%else220 #    EXTRA_COPTIMIZE = -fno-strict-aliasing221     LDCFLAGS        = -z muldefs222 #%endif

2.526.blender编译时struct timespec无定义问题

测试时发现了一个526.blender编译的新问题,log如下:

blender/source/blender/blenlib/intern/threads.c:845:33: warning: 'struct timespec' declared inside parameter list will not be visible outside of this definition or declarationstatic void wait_timeout(struct timespec *timeout, int ms)^~~~~~~~
blender/source/blender/blenlib/intern/threads.c: In function 'wait_timeout':
blender/source/blender/blenlib/intern/threads.c:868:9: error: dereferencing pointer to incomplete type 'struct timespec'timeout->tv_sec = sec + div_result.quot;^~
blender/source/blender/blenlib/intern/threads.c: In function 'BLI_thread_queue_pop_timeout':
blender/source/blender/blenlib/intern/threads.c:884:18: error: storage size of 'timeout' isn't knownstruct timespec timeout;

大概就是说struct timespec没有定义。事实上,该结构体是一个系统变量,其定义在<time.h>中,即/usr/include/time.h。

查看出错文件./benchspec/CPU/526.blender_r/src/blender/source/blender/blenlib/intern/threads.c,包含的系统头文件主要有:

#ifdef WIN32
#  include <windows.h>
#  include <sys/timeb.h>
#elif defined(__APPLE__)
#  include <sys/types.h>
#  include <sys/sysctl.h>
#else
#  include <unistd.h>
#  include <sys/time.h>
#endif

有关的就是<sys/time.h>,我们查看下该文件:

A. Ubuntu18.04:

#include <bits/types.h>
#include <bits/types/time_t.h>
#include <bits/types/struct_timeval.h>#ifndef __suseconds_t_defined
typedef __suseconds_t suseconds_t;
# define __suseconds_t_defined
#endif#include <sys/select.h>

B. Ubuntu16.04的如下:

#include <bits/types.h>
#define __need_time_t
#include <time.h>        /* 这里包含了/usr/include/time.h文件 */
#define __need_timeval
#include <bits/time.h>#include <sys/select.h>

可见,Ubuntu18.04的版本里,移除了该头文件,其它包含文件中也没有包含。

知道了这个原因,直接修改threads.c文件,添加#include <time.h>,结果又产生新的错误,尚未解决……

目前的做法就是换成了Ubuntu16.04继续玩~

done for now……欢迎拍砖、补充^_^

cpu2017的526.blender编译出错原因相关推荐

  1. 于g2o新版本编译出错的原因及解决办法

    在githubg2o的github地址上面down了最新的版本进行安装, 编译十四讲第六讲的代码出错, 报错信息: /home/hri/SLAM/slambook/ch6/g2o_curve_fitt ...

  2. android源码编译出错的原因

    (1)gcc的版本过高,由于android源码编译要求为4.3,如果你的gcc版本为4.4,那你的编译可能会失败的!我的系统是ubuntu 10.04,默认的gcc版本为4.4,gcc-4.4太严格, ...

  3. 由一次奇怪的编译出错想起的

    现象 最近在工作中遇到了一次奇怪的编译出错.事情是这样的,本来这个asp.net webform应用是可以编译的.但是将另外一个class library的工程加入到这个asp.net webform ...

  4. 解决WINCE6.0新建工程编译出错的问题

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  5. ORA-00980与PL/SQL程序编译出错

        今天碰到一个有意思的问题.     为了降低统计分析数据库的计算和磁盘空间压力.我们使用了将远程数据库中数据通过DBLINK和SYNONYM的形式来缓解当前统计数据库所面临的问题.工作实施的比 ...

  6. 使用友元,编译出错fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) 的解决...

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lihuan-dianxian.blogbus.com/logs/42102230.html 同学拿了个很简单的小程序过 ...

  7. string : undeclared identifier 出错原因

    string : undeclared identifier 出错原因 在使用string类型时,添加了<string>头文件,编译后出现 'string' : undeclared id ...

  8. Eclipse开发程序,取得新的工程后,启动Web服务出错原因总结

    前言: 最近使用 JSF开发程序,Web服务器是WebSphere. (工程中使用了Maven) 启动服务时经常报错,总结一下原因, 如何避免出错. 出错时如何解决问题. 一  出错原因: 1.[De ...

  9. mysql cmake 编译出错_Mysql安装过程中CMAKE编译出错

    问题现象: Mysql安装过程中CMAKE编译出错 环境Centos7.1+mysql5.6.21 [root@linfytest3 mysql-5.6.21]# cmake . -DCMAKE_IN ...

最新文章

  1. java I/O总结(收藏)
  2. java 连接 pgsql
  3. linux文件统计命令,linux文件统计命令和目录统计命令
  4. Istio究竟是干嘛的?
  5. qt调用mysql加密接口_Qt实现客户端/服务器端登录验证|数据传输使用md5加密 | 学步园...
  6. ajax原理 博客,AJAX工作基本原理
  7. java 异常 规范_java 异常规范
  8. [多图/秒懂]白话OpenPose,最受欢迎的姿态估计网络
  9. iPhone/Mac Objective-C内存管理教程和原理剖析(二)口诀与范式转
  10. 腾讯TBS X5 WebView的简单使用
  11. 前端学习(1867)vue之电商管理系统电商系统之登录退出实现表单的重置
  12. cpu渲染测试软件,CPU多核项目大比拼 Corona渲染器测试
  13. Java飞机大战 项目-源码
  14. 苹果悬浮球_手机轻松实现多个系统!安卓手机运行苹果iOS系统?期待!
  15. 各国语言缩写-各国语言简称,世界各国域名缩写
  16. 什么是编程?为什么要编程?
  17. 数据链路层协议的功能不包括( )
  18. vue 导入第三方js实例对象
  19. vue2项目复习01-关闭elint检校,src文件别名,路由传参的对象写法,代理解决跨域问题,nprogress,vuex状态管理库,store的模块式开发,节流与防抖,编程式导航+事件委托路由跳转
  20. 欧尼酱讲JVM(07)——方法的栖身之所—虚拟机栈

热门文章

  1. 数学模型(第五版) PDF 习题参考解答 第5版
  2. 蓝桥杯:试题 算法训练 采油区域 矩阵前缀和+动态规划+分治+枚举
  3. 解决”Windows已经保护您的电脑”的三个方法
  4. 手把手微信机器人部署教学
  5. java多线程(分分钟基础秒杀)
  6. matlab 2016a
  7. 程序员面试,为什么不跟我谈高并发?
  8. CCF-CSP认证知识要求
  9. useradd与adduser(更全面)创建用户命令 和 让用户拥有root权限
  10. spring boot 配置Filter过滤器