cpu2017的526.blender编译出错原因
结论先行: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编译出错原因相关推荐
- 于g2o新版本编译出错的原因及解决办法
在githubg2o的github地址上面down了最新的版本进行安装, 编译十四讲第六讲的代码出错, 报错信息: /home/hri/SLAM/slambook/ch6/g2o_curve_fitt ...
- android源码编译出错的原因
(1)gcc的版本过高,由于android源码编译要求为4.3,如果你的gcc版本为4.4,那你的编译可能会失败的!我的系统是ubuntu 10.04,默认的gcc版本为4.4,gcc-4.4太严格, ...
- 由一次奇怪的编译出错想起的
现象 最近在工作中遇到了一次奇怪的编译出错.事情是这样的,本来这个asp.net webform应用是可以编译的.但是将另外一个class library的工程加入到这个asp.net webform ...
- 解决WINCE6.0新建工程编译出错的问题
********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...
- ORA-00980与PL/SQL程序编译出错
今天碰到一个有意思的问题. 为了降低统计分析数据库的计算和磁盘空间压力.我们使用了将远程数据库中数据通过DBLINK和SYNONYM的形式来缓解当前统计数据库所面临的问题.工作实施的比 ...
- 使用友元,编译出错fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) 的解决...
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lihuan-dianxian.blogbus.com/logs/42102230.html 同学拿了个很简单的小程序过 ...
- string : undeclared identifier 出错原因
string : undeclared identifier 出错原因 在使用string类型时,添加了<string>头文件,编译后出现 'string' : undeclared id ...
- Eclipse开发程序,取得新的工程后,启动Web服务出错原因总结
前言: 最近使用 JSF开发程序,Web服务器是WebSphere. (工程中使用了Maven) 启动服务时经常报错,总结一下原因, 如何避免出错. 出错时如何解决问题. 一 出错原因: 1.[De ...
- mysql cmake 编译出错_Mysql安装过程中CMAKE编译出错
问题现象: Mysql安装过程中CMAKE编译出错 环境Centos7.1+mysql5.6.21 [root@linfytest3 mysql-5.6.21]# cmake . -DCMAKE_IN ...
最新文章
- java I/O总结(收藏)
- java 连接 pgsql
- linux文件统计命令,linux文件统计命令和目录统计命令
- Istio究竟是干嘛的?
- qt调用mysql加密接口_Qt实现客户端/服务器端登录验证|数据传输使用md5加密 | 学步园...
- ajax原理 博客,AJAX工作基本原理
- java 异常 规范_java 异常规范
- [多图/秒懂]白话OpenPose,最受欢迎的姿态估计网络
- iPhone/Mac Objective-C内存管理教程和原理剖析(二)口诀与范式转
- 腾讯TBS X5 WebView的简单使用
- 前端学习(1867)vue之电商管理系统电商系统之登录退出实现表单的重置
- cpu渲染测试软件,CPU多核项目大比拼 Corona渲染器测试
- Java飞机大战 项目-源码
- 苹果悬浮球_手机轻松实现多个系统!安卓手机运行苹果iOS系统?期待!
- 各国语言缩写-各国语言简称,世界各国域名缩写
- 什么是编程?为什么要编程?
- 数据链路层协议的功能不包括( )
- vue 导入第三方js实例对象
- vue2项目复习01-关闭elint检校,src文件别名,路由传参的对象写法,代理解决跨域问题,nprogress,vuex状态管理库,store的模块式开发,节流与防抖,编程式导航+事件委托路由跳转
- 欧尼酱讲JVM(07)——方法的栖身之所—虚拟机栈