首先要安装好Ubuntu——废话。
然后,就是装Kylix3。为了保险起见,我是在root用户下安装的,可能用sudo方式也可以。另,据说需要在英文方式下安装,所以我切换到英文状态下装的——即使是装成中文的Ubuntu也可以在登录前选择语言——没试过在中文方式下安装行不行。
据我的经验是,在ubuntu 5.1下直接安装Kylix3会报错:libgtk版本不对。解决办法当然就是装一个对的版本:
sudo apt-get install libgtk1.2
装好libgtk应该就可以顺利安装Kylix3了。不过就算安装成功,它还是不能运行。报一个类似这样错误:
raptor:~$ startdelphi
/usr/local/kylix3/bin/delphi: relocation error: /usr/local/kylix3/bin/libwine.borland.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
据说是因为Kernel的版本(Ubuntu 5.1是用2.6的Kernel)太高,见borland QC的解决方案:
LD_ASSUME_KERNEL=2.4.0 startdelphi
如此便可以成功启动Kylix3的Delphi。不过还是有一个这样的错误,不知道为什么曾经出过这个错(后来又没有了):
raptor: $ startdelphi
...
/usr/local/kylix3/bin/transdlg: error while loading shared libraries: libXaw.so.6: cannot open shared object file: No such file or directory
而且虽然Delphi可以启动了,但是Kylix3的BCB还是无法运行,报一个类似这样的错误:
raptor: $ startbcb
/usr/local/kylix3/bin/bcblin: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory
参照共创这篇文章说是因为glibc/gcc的版本太高所致。但用文中所说的办法:
cd /usr/lib
sudo ln -sf libstdc++.so.6.0.5 libstdc++-libc6.1-1.so.2
其 中的libstc++.so.6.0.5是在Ubuntu 5.1中实际存在的版本。我这样改过以后,BCB只是显示出一个Splash就不动了,还是不能用。也试过将gcc 4.4删除,装了与内核编译时一致的gcc 3.4.5,并将CC环境变量设置为这个版本的gcc,但好像也没有用。至今(3月20日)未能解决,求助。
后 来又发现,Kylix Delphi虽然可以运行并且编译程序,但是编译出来的结果无法运行——指在IDE中无法以调试方式运行,一运行就导致Kylix进程死掉,但据说在 RedHat 9中只要将Kernel设置为2.4.1即可解决此问题,可是此法在ubuntu/debian下无效。至今(3月20日)未能解决,求助。
但是脱离IDE环境是可以单独运行的,方法参见2001年我在RedHat下用时写的文章《用 Kylix 进行 Linux 应用开发的常见问题及解决》。原文拉拉杂杂说了一堆,其实就是路径问题,总结如下:
最简单的办法就是修改profile文件(我是修改了我的~/.bash_profile),在最后加上一句:
source /usr/local/kylix3/bin/kylixpath
这样就可以把所需要的环境变量都设置好了。另外,如果还不行的话,可以再加上ldconfig试试,方法是在/etc目录下编辑或新建(如果不存在的话)rc.ld.conf文件,在其中加入:
/usr/local/kylix3/bin
然后运行:
sudo ldconfig
更新一下即可。