昨天侥幸在Fedora 9下把configure文件中得-m32改为-m64顺利编译通过,并生成了可执行代码,但是一运行还是有问题,原理是没有了解sac for Fedora 9 64bit的安装精髓所在,就是要在64bit系统上调用32bit的库函数来安装,所以必须是-m32.知道这以后一切问题都好吧,出现的任何错误都是由于机器上没有安装32bit的库所致。
如果-m后面是32的话,就会出现找不到crt1.o,如果改成64的话,生成的可执行程序就出错了。好像不是生成的32bit version on 64 bit platform.所以在此需要安装32bit的libc-dev包。
安装完32bit的libc以后,
configure: error: *** termcap support not found
又需要包:
rpm -qv bison
rpm -qv ncurses
rpm -qv zlib
rpm -qv openssl
看看哪些32bit的包没有装上,装好之后configure就成功了,生成make
make是在最后关节又有错误信息:
说/usr/bin/ld:cannot find -lX11
我是指定了X11库的位置在/usr/lib64的呢,
道理一样,还是需要32bit的libX11.
哈哈,安装好这以后,就搞定啦。
到此,已经在mac , solaris, linux 32bit 64bit上编译成功了sac源代码了。
总之,出现任何问题,安装32bit对应的包,自己也是来回试了好多次琢磨出来的啊。
用得比较多的几个命令:
查找文件在什么地方:locate file
看看相应的包有哪些:yum search file; or rpm -qv file