perl-5.14.0在新版gcc中编译不通过解决办法
1 由于在新版本中GCC把C99中的标准库分成了libc和libm两个部分,libm中包含一些数学库等,如果要用到libm时,必须加上-lm选项
在解压Configure之后,再在Makefile中,LDFLAGS 和 CLDFLAGS两个参数后面加上 -lm即可解决问题
2 参考:http://serverfault.com/questions/145288/make-error-when-compiling-perl-5-12-1-rhel-5-5
修改 dist/IO/poll.h:将 #include<poll.h> 修改为 #include<sys/poll.h>
3 参考:http://blog.163.com/zhangliye_2009/blog/static/1223120282013518104148904/
在Makefile 中,LDFLAGS 和 CLDFLAGS两个参数后面加上 -lrt
相关报错信息:
1
cc -fstack-protector -L/usr/lib64 -o miniperl \ gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o \ miniperlmain.o opmini.o perlmini.opp.o: In function `Perl_pp_int':pp.c:(.text+0x9151): undefined reference to `floor'pp.c:(.text+0x9171): undefined reference to `ceil'pp.o: In function `Perl_pp_sin':pp.c:(.text+0x944d): undefined reference to `sin'pp.o: In function `Perl_pp_atan2':pp.c:(.text+0xc2c3): undefined reference to `atan2'pp.o: In function `Perl_pp_modulo':pp.c:(.text+0xdc71): undefined reference to `floor'pp.c:(.text+0xde3d): undefined reference to `fmod'pp.c:(.text+0xde6f): undefined reference to `floor'pp.o: In function `Perl_pp_pow':pp.c:(.text+0xe1b3): undefined reference to `pow'pp.o:(.rodata+0x260): undefined reference to `cos'pp.o:(.rodata+0x268): undefined reference to `sin'pp.o:(.rodata+0x270): undefined reference to `sin'pp.o:(.rodata+0x278): undefined reference to `exp'pp.o:(.rodata+0x280): undefined reference to `log'pp.o:(.rodata+0x288): undefined reference to `sqrt'pp_sys.o: In function `S_gmtime64_r':pp_sys.c:(.text+0x1c21): undefined reference to `ceil'pp_sys.c:(.text+0x1c7e): undefined reference to `ceil'pp_sys.c:(.text+0x1ce3): undefined reference to `ceil'pp_sys.c:(.text+0x1da1): undefined reference to `floor'pp_sys.c:(.text+0x1f11): undefined reference to `floor'pp_sys.c:(.text+0x1f65): undefined reference to `floor'pp_sys.c:(.text+0x1f85): undefined reference to `floor'pp_sys.c:(.text+0x1fc0): undefined reference to `ceil'pp_sys.c:(.text+0x2119): undefined reference to `fmod'pp_sys.c:(.text+0x2155): undefined reference to `fmod'pp_sys.c:(.text+0x2193): undefined reference to `fmod'pp_sys.c:(.text+0x21cb): undefined reference to `fmod'pp_sys.o: In function `Perl_pp_gmtime':pp_sys.c:(.text+0x2287): undefined reference to `floor'pp_pack.o: In function `S_pack_rec':pp_pack.c:(.text+0x369b): undefined reference to `floor'pp_pack.c:(.text+0x36c3): undefined reference to `floor'collect2: ld returned 1 exit statusmake: *** [miniperl] Error 1
2
make[1]: Entering directory `/data_center_02/User/wucy/soft/perl-5.14.0/dist/IO'cc -c -DOVR_DBL_DIG=14 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.25_04\" -DXS_VERSION=\"1.25_04\" "-I../.." IO.cIO.xs: In function 'XS_IO__Poll__poll':IO.xs:249: error: invalid application of 'sizeof' to incomplete type 'struct pollfd'IO.xs:253: error: invalid use of undefined type 'struct pollfd'IO.xs:253: error: dereferencing pointer to incomplete typeIO.xs:255: error: invalid use of undefined type 'struct pollfd'IO.xs:255: error: dereferencing pointer to incomplete typeIO.xs:257: error: invalid use of undefined type 'struct pollfd'IO.xs:257: error: dereferencing pointer to incomplete typeIO.xs:261: error: invalid use of undefined type 'struct pollfd'IO.xs:261: error: dereferencing pointer to incomplete typeIO.xs:262: error: invalid use of undefined type 'struct pollfd'IO.xs:262: error: dereferencing pointer to incomplete typemake[1]: *** [IO.o] Error 1make[1]: Leaving directory `/data_center_02/User/wucy/soft/perl-5.14.0/dist/IO'Unsuccessful make(dist/IO): code=512 at make_ext.pl line 463.make: *** [lib/auto/IO/IO.a] Error 2
3
Can't find extension Encode/Byte in any of cpan dist ext at make_ext.pl line 251.Can't find extension Encode/CN in any of cpan dist ext at make_ext.pl line 251.Can't find extension Encode/EBCDIC in any of cpan dist ext at make_ext.pl line 251.Can't find extension Encode/JP in any of cpan dist ext at make_ext.pl line 251.Can't find extension Encode/KR in any of cpan dist ext at make_ext.pl line 251.Can't find extension Encode/Symbol in any of cpan dist ext at make_ext.pl line 251.Can't find extension Encode/TW in any of cpan dist ext at make_ext.pl line 251.Can't find extension Encode/Unicode in any of cpan dist ext at make_ext.pl line 251.lib/auto/POSIX/POSIX.a(POSIX.o): In function `XS_POSIX_tmpnam':POSIX.c:(.text+0x4614): warning: the use of `tmpnam' is dangerous, better use `mkstemp'lib/auto/Time/HiRes/HiRes.a(HiRes.o): In function `XS_Time__HiRes_clock_nanosleep':HiRes.c:(.text+0xac3): undefined reference to `clock_nanosleep'lib/auto/Time/HiRes/HiRes.a(HiRes.o): In function `XS_Time__HiRes_clock_getres':HiRes.c:(.text+0xc8e): undefined reference to `clock_getres'lib/auto/Time/HiRes/HiRes.a(HiRes.o): In function `XS_Time__HiRes_clock_gettime':HiRes.c:(.text+0xdbe): undefined reference to `clock_gettime'collect2: ld returned 1 exit statusmake: *** [perl] Error 1
perl-5.14.0在新版gcc中编译不通过解决办法的更多相关文章
- python安装pymssql等包时出现microsoft visual c++ 14.0 is required问题无需下载visualcppbuildtools的解决办法
如题,在练习python安装一些包时,出现了microsoft visual c++ 14.0 is required问题.网上有很多资料:一是下载对应的.whl文件,然后pip install安装: ...
- gcc 无法编译c17程序解决办法
1.保证将gcc程序升级到7.1以上. 2.如果用命令行手工编译,就多加个参数-std=c++17,例如命令应该是: "g++" -std=c++17 "text.cp ...
- windows2003 IIS6.0右键属性没有asp.net选项卡的解决办法
windows2003 IIS6.0右键属性没有asp.net选项卡的解决办法 1,如果是只安装了.net framework 1.1 在iis中是不显示那个选项卡的.默认就会支持asp.net1.1 ...
- linux中tomcat内存溢出解决办法
用命令 tail -f /root/apache-tomcat-6.0.20/logs/catalina.out(需要找到tomcat路径) 查看日志,查看是否有错误 linux中tomcat内存溢出 ...
- ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务解决办法
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务解决办法: 1.首先打开cmd命令 查看本地TNSPING配置 是否ok?然后找到 Oracle 安装文件 中 listener. ...
- vsftp在REDHAT,CENTOS 5中登录慢的解决办法
vsftp在REDHAT,CENTOS 5中登录慢的解决办法 vsftp在REDHAT,CENTOS 5中不仅登录慢,至少花30秒左右,而且上传文件的速度也受影响, 经过摸索,根本原因在DNS解析上花 ...
- .net core, docker 在vs2019开发过程中的问题以及解决办法
.net core, docker 在vs2019开发过程中的问题以及解决办法 记录下来,帮助Ta人~ 1.vs调试,快Build完后提示Docker 端口:xxxx,xxxx,xxxx占用 解决办法 ...
- android4.0浏览器在eclipse中编译的步骤
工程源码: 注意: 如果下载已经修过的源码,只要进行3.4.8步骤就应该可以了. eclipse版本:adt-bundle-windows (Android Developer Tools Build ...
- opnet安装及安装中出现问题的解决办法 分类: opnet 2014-04-06 21:50 397人阅读 评论(0) 收藏
我使用的opnet14.5 win7 64位系统的http://pan.baidu.com/s/1qWyfxnu,电脑先刷了win7 64位原版系统. 选择了VS2013+opnet14.5的安装方 ...
随机推荐
- liunx分布式监控工具
监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的.你要确保用户始终可以打开你的网站并且网速不慢.服务器监控工具允许你收集和分析有关你的Web服务器的数据. 有许多非常好的服务器监控解决 ...
- Openssl 生成证书server.key and server.crt
1.key的生成 openssl genrsa -des3 -out server.key 2048 这样是生成rsa私钥,des3算法,openssl格式,2048位强度.server.key是密钥 ...
- 匈牙利标记法定义ECMAScript变量前缀
匈牙利标记法定义ECMAScript变量前缀 类型 前缀 示例 数组 a aArray 布尔型 b bMale 浮点型(数字) f fTax 函数 fn fnSwap 整型(数字) i iAge ...
- 过渡与动画 - steps调速函数&CSS值与单位之ch
写在前面 上一篇中我们熟悉五种内置的缓动曲线和(三次)贝塞尔曲线,并且基于此完成了缓动效果. 但是如果我们想要实现逐帧动画,基于贝塞尔曲线的调速函数就显得有些无能为力了,因为我们并不需要帧与帧之间的过 ...
- NGUI_Button
十.按钮,Button 1.按钮的核心作用: 按钮能够接收单击并触发响应事件 按钮单击时能同时触发多个响应事件 按钮可以有普通.悬停.单击.禁用等多个状态的不同表现 广泛的说,按钮的核心在于接收事件 ...
- 家居环境监測系统设计(PC上位机版)(手机APP版待定)
下面是我的毕业设计:家居环境监測系统设计(PC上位机临时版.手机app版待定).本系统採用STC12C5A60S2单片机.结合传感器.分别对空气湿度.空气温度.气压.海拔.进水温度.出水温度.光照强度 ...
- C语言之基本算法37—数组最大值及其位置
//数组运算 /* ================================================================== 题目:查找数组的最大元素,并输出其位置和值! ...
- 理解vuex的状态管理模式架构
理解vuex的状态管理模式架构 一: 什么是vuex?官方解释如下:vuex是一个专为vue.js应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证以一种可预测的 ...
- char a[] = "ab\0123\098"; 求a的长度
原因: \0表示后面的字符是八进制(\ddd); 8进制=10进制( 10是'\n' 的ASCII码): 当\0后面有数字,且数字范围在0~7之间时,为8进制转义.如'\012': 当\0后面没有 ...
- 自学Zabbix3.7.2-事件Event-来源与分类
一.zabbix 事件从字面理解,就是发生了一个事情就算是一个事件.就在trigger的文章内,我们已经有用到事件,这个事件要讲概念真心不知道怎么说,就拿trigger事件来说,如果trigger从当 ...