第一次编译SAC的源包在64bit的fc9上,以前在solaris, 32bit linux都很顺利,这次出了点麻烦,让自己
择腾了好久,不过也学到点东西。
在用./configure时出现以下症状:
checking for C compiler defult output file name...C compiler cannot create executables
See `config.log` for more details.
查了网上,别人的经验都是
apt-get install build-essential
就搞定了,原因是缺一些库和包
但是fedoar我就不知道该怎么弄了,yum install什么呢?
查了好久,原来是:
yum groupinstall "Development Tools"
一安装,没有可以更新的,
然后自己通过
yum search gcc
看看gcc包含哪些库,把缺的都装上了,还是不work.
郁闷,不能毫无目标的检测了,得看./configure时生成得config.org文件,
所有的错误信息都在里面,开始就显文件太长不想看,现在没有办法了。
很快就发现了错误:
/usr/bin/ld: crt1.o: No such file: No such file or directory
原来是缺一个libc-dev;
On debian、Ubuntu:
apt-get install libc6-dev
On Fedora:
$ locate crt1.o
/usr/lib/crt1.o
$ rpm -qf /usr/lib/crt1.o
glibc-devel-X.X.X-XX
然后:yum install glibc-devel-X.X.X-XX
安装好了之后,运行./configure
晕,还是有错误信息,恼火得想放弃了,但是又需要用,
没办法,再次查看./config.org文件.
我估计是这个地方的问题,我的fedora是64bit:
configure:2959: gcc -m32 -m32 conftest.c >&5
这个地方的-m后面应该是64吧
是不是这个configure文件有个bug.
把32改成64之后,configure通过,生成了makefile,
make也通过生成了可执行的程序,不过生成的可执行程序里面有一个不能用
(就是我想要的sac),一读取波形文件,提示说:
ERROR 1301: NO DATA FILES READ IN.
不知道是什么问题了,别的可执行程序(SACLST, SACWAP)都可以,很奇怪。
问题还是没有解决,不知道是不是sac就在bit64上不支持呀。