我正在尝试在Intel芯片组上的Solaris 5.10上编译rsync-3.0.7。
运行./configure我看到下面的(显然是错误的行):
checking size of int... 0 checking size of long... 0 checking size of long long... 0 checking size of short... 0 checking size of int16_t... 0 checking size of uint16_t... 0
在config.log我看到以下几行:
configure.sh:5448: /tool/sunstudio12.1/bin/cc -xc99=all -o conftest -g -DHAVE_CONFIG_H conftest.c >&5 "conftest.c", line 123: warning: statement not reached cc: Fatal error in cc : Segmentation Fault configure.sh:5448: $? = 1 configure.sh: program exited with status 1
分段故障? 什么可能导致一个简单的testing脚本在编译期间段错误?
这不会解决你的编译问题,但你总是可以看看使用opencsw回购http://opencsw.org/他们有这个版本的rsync已经编译,并有一个有用的应用程序称为pkg-get执行安装
我遇到了同样的问题,但不能使用-xc99=all,no_lib解决方法(我正在构build的程序需要所有c99function),并尝试在truss下手动运行cc命令。 它显示刚刚尝试打开/lib/values-xpg6.o后发生段/lib/values-xpg6.o 。 该文件不存在,但在SUNWarc软件包中可用。 我安装了,segfault走了。
我不完全确定根本原因是什么,但这应该有助于上述解决方法失败的任何人。
选项-xc99=all导致段错误。 该选项的说明可以在这里find,默认是-xc99=all,no_lib (这不会导致编译器出现段错误)。
为了使configure脚本工作,我编辑了configure.sh并将-xc99=all的实例replace为-xc99=all,no_lib
回答我自己的问题,以便其他遇到此问题的人可能会尝试build立解决方法。