昨天僥幸在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