热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【解决】SPECCPU编译出错“f951:error:argumentto'-O'shouldbeanon-negativeinteger”

交叉编译speccpu2006时,遇到一个错误,把错误现象摘录如下:1、执行编译命令:runspec--actionbuild--configarmv8.cfg--rebuild

交叉编译speccpu2006时,遇到一个错误,把错误现象摘录如下:

1、执行编译命令:runspec --action=build --cOnfig=armv8.cfg --rebuild  --tune=base 410

2、编译报错结果:

runspec v6152 - Copyright 1999-2008 Standard Performance Evaluation Corporation
Using 'linux-suse101-AMD64' tools
Reading MANIFEST... 18335 files
Loading runspec modules................
Locating benchmarks...found 31 benchmarks in 6 benchsets.
Reading config file '/home/zql/SPEC_install/config/armv8.cfg'
Loading "http://www.spec.org/auto/cpu2006/current_version" for version check: OK

NOTICE: There is a newer version of the suite available from SPEC.
  Version 1.200 was released on Wed Aug 17 09:10:33 2011
                       ----------------------------------
                       The run will continue in 5 seconds
                       ----------------------------------
Retrieving flags file (/home/zql/SPEC_install/Docs/flags/example-medium-cfg-flags.xml)...
Benchmarks selected: 410.bwaves
Compiling Binaries
  Building 410.bwaves base DL585_08_2005 default: (build_base_DL585_08_2005.0000)
Error with make 'specmake build': check file '/home/zql/SPEC_install/benchspec/CPU2006/410.bwaves/build/build_base_DL585_08_2005.0000/make.err'
  Command returned exit code 2
  Error with make!

*** Error building 410.bwaves
If you wish to ignore this error, please use '-I' or ignore errors.

The log for this run is in /home/zql/SPEC_install/result/CPU2006.010.log
The debug log for this run is in /home/zql/SPEC_install/result/CPU2006.010.log.debug

*
* Temporary files were NOT deleted; keeping temporaries such as
* /home/zql/SPEC_install/result/CPU2006.010.log.debug and
* /home/zql/SPEC_install/tmp/CPU2006.010
* (These may be large!)
*
runspec finished at Tue Feb 19 15:02:12 2013; 8 total seconds elapsed
root@zql-virtual-machine:/home/zql/SPEC_install# vim /home/zql/SPEC_install/benchspec/CPU2006/410.bwaves/build/build_base_DL585_08_2005.0000/make.err


3、问题分析:以上错误信息中的红色部分对我们分析错误是有用的,打开红色部分指定的文件make.err,其中内容如下:

f951: error: argument to '-O' should be a non-negative integer
specmake: *** [block_solver.o] Error 1

4、看来错误原因在于配置文件,我用的交叉编译,需要修改编译工具链,对config文件的修改如下:

CC           = aarch64-linux-gnu-gcc -static
CXX          = aarch64-linux-gnu-g++ -static

FC           = aarch64-linux-gnu-gfortran -static

其他地方不作改动。

5、上面出现的错误猜测和-O优化选项有关,但是尝试删除-O3后还是不对,后来删除了fortran的优化:FOPTIMIZE    = -OPT:div_split=on,问题解决!


可能原因:我的交叉编译工具链不支持fortran的优化,所以这个选项编译工具链不识别!


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
author-avatar
小马哥
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有