curl-7.37.1在AIX上编译失败“cc: 1501-230 内部编译器错误;请与您的服务代表联系”

    因项目需要,在AIX上编译curl-7.37.1,

    configure执行ok

    make时报错如下

    source='progress.c' object='libcurl_la-progress.lo' libtool=yes DEPDIR=.deps depmode=aix /bin/sh ../depcomp /bin/sh ../libtool --tag=CC --mode=compile cc -qlanglvl=ansi -DHAVE_CONFIG_H -I../include/curl -I../include -I../include -I../lib -I../lib -DBUILDING_LIBCURL -qthreaded -qnoansialias -qhalt=e -O2 -c -o libcurl_la-progress.lo `test -f 'progress.c' || echo './'`progress.c

libtool: compile: cc -qlanglvl=ansi -DHAVE_CONFIG_H -I../include/curl -I../include -I../include -I../lib -I../lib -DBUILDING_LIBCURL -qthreaded -qnoansialias -qhalt=e -O2 -c -M progress.c -DPIC -o .libs/libcurl_la-progress.o

cc: 1501-230 内部编译器错误;请与您的服务代表联系

make:1254-004 上一个命令的错误码是 1。

    很明显,是编译lib/progress.c文件时,导致终止。

    查看progress.c文件(其中花费大约2小时,尝试是哪部分大致失败的),问题出在max5data函数的下面2行代码导致的。

  else if(bytes < CURL_OFF_T_C(10000) * ONE_TERABYTE)
    /* up to 10000TB, display without decimal: XXXXT */
    snprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "T", bytes/ONE_TERABYTE);

   尝试替换等方法都不管用,索性注释掉这几行(实际上,传输T级别的文件基本没有),编译通过。

 

/*
  else if(bytes < CURL_OFF_T_C(10000) * ONE_TERABYTE)
     up to 10000TB, display without decimal: XXXXT
    snprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "T", bytes/ONE_TERABYTE);
*/

    什么原因,高手们,给个答案,目前我懒得去深究了。

 64位动态库编译

      1)export OBJECT_MODE=64,设定cc编译环境为64位

      2)configure,生成编译配置

      3)make,编译生成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pony12

助力1000篇OpenDDS文

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值