捣鼓了三天,终于把Eclipse装到linux,其中那个郁闷.痛苦.柳暗花明.稀里糊涂,
不说你不会知道 -_#.
我的机器装了两个系统,win98和RedHat7.3,开发上网都在98下,Redhat只是用
来填充硬盘多余空间而已-_#.
三天前不知怎的心血来潮要把Eclipse装到Redhat下,如此开始了我的不寻常的
Eclipse安装历程...
一.下载J2SDK和Eclipse.
J2SDK下载?我熟.
http://java.sun.com/downloads/index.html
http://www.blackdown.com/
Eclipse?载了N遍了.
http://www.eclipse.org/downloads/index.php
习惯了Window下FlashGet的高速下载,Redhat确实让人有点着急,不过二十分钟
还可以接受,上CSDN转转,也就下完了.
二.安装J2SDK1.4.2和Eclipse2.1.2.
解压缩J2SDK包,编辑/etc/profile,再#source /etc/profile使改动生效,
JSDK环境配置完毕.
再把Eclipse包move到/usr/local,解压缩,eclipse目录出现了,一切还顺利.
三.运行Eclipse.
双击eclipse可执行文件,提示初始安装,出现Eclipse的启动logo,和win一样,
启动正常. 突然,'砰'一声响,logo不见了,蹦出个错误提示:
JVM terminated. Exit code=1
/usr/local/java/bin/java -cp /usr/studio/eclipse/startup.jar
org.eclipse.core.launcher.Main
-os linux
-ws gtk
-arch x86
/usr/studio/eclipse/eclipse -showsplash 600
JVM退出?是不是JVM版本不对,1.4.2的版本是不是太高了?载一个低版本的试试,
我熟啊--后才不知道我从此就错下去了-_#
四.try不同版本的J2SDK和Eclipse.
十N分钟后J2sdk1.3下载完毕,再试,还是同样的错误. 难道Eclipse版本不对?
载两个版本,一高一低一试就知--这么聪明,这样的好主意你能想出来?!
逛逛CSDN,打开MSN,时间过得会很快.
又20+N分钟,2.1.1和2.1.3两个版本都下载完毕.
再试.
还是不行,我靠~~
第一天就这样过去了.."郁闷的一天"(仿大富翁中乌米的声音).
五.另一种途径.
第一天下班前和同事说了一天的奋斗过程,没想没得到鼓励还说了一句,"丫有病,
好好的用什么linux~,自找~!",郁闷了一晚上.我‘决定’再用一天就把它搞定。
先试运行一次。错误如常,系统怎么不像人一样歇一晚就恢复正常?
Try and Try again..
Error and Error again..
看看eclipse目录下有什么。workspace,eclipse?!运行一下
#eclipse
还是一样的报错。等等,命令行有提示: *******(没记录下来),大概意思为
gtk+2版本低,需要的版本为2.0.6而在系统中找到的版本为2.0.2,micro mismatch.
原来如此!
六.装个高版本的gtk2+
Google搜索gtk,比2.0.6版本高的有的是,还装2.0.6是不是有点过时?先装个
2.2的试试。
下载完gtk的安装包。安装:
#tar zxvf gtk+-2.2.0.tar.gz
#cd gtk+-2.2.0 #./configure && make && make install
出错!glib 版本低了。
好,载一个glib,安装,出错!pkgconfig版本低了。
再好,载一个pkgconfig,安装,呵呵,这回没错。
重新安装glib,继续报错。
我靠,没这么拽吧?我都循环试了六七次了还不行?
这回报错为glibc版本低(我的什么系统啊,Redhat7.3在2002年还是
新产品咧~=_#)。反正都装这么多次安装包,再装一次也无防。
#tar zxvf glibc*.tar.gz
#cd glibc* #./configure --prefix=/usr && make && /
>make install
黑屏。让人恐惧的黑屏。系统重启并找不到系统,使用启动盘也不能登录linux!
这时我是真的痛苦了。一狠心,重装系统。(够坚决够爽快=_#)
七.装系统(这和eclipse安装有关系?)
参考Redhat linux 7.3安装说明书,安装选项为服务器。
'时间在敲键盘的指间悄悄的开溜了'(同事语).痛苦的一天.
八.再装eclipse.
下载eclipse.这回看了支持版本说明(Supported Versions)
http://www.eclipse.org/eclipse/development/eclipse_project_plan_2_1.html
Target Operating Environments中说明eclipse是'纯'Java的,并不直接
与系统相关,而取决于Java 2平台.Gtk版的eclipse需要Gtk+2.06支持.
说明还提供了测试eclipse2.1.2的系统环境,Java和Gtk2+版本.
原来如此.我的重复安装eclipse的过程做的只是无用功...I see...
重复以上一至四步骤一次,glib为2.0.6版,gtk为2.0.6版,运行不成功,报错为:
An unexpected exception has been detected in native code outside
the VM.
Unexpected Signal : 11 occurred at PC=0x4D8ECEB9
Function=gdk_x11_drawable_get_xid+0x25
Library=/usr/lib/libgdk-x11-2.0.so.0
..................................
到/usr/lib找到这个文件,是个联接文件:
libgdk-x11-2.0.so.0 -> libgdk-x11-2.0.so.0.0.6
同一目录下还有libgdk-x11-2.0.so.0.0.2文件,高度怀疑为低版本glib2.0.2
包文件.
九.关键四步.
将libgdk-x11-2.0.so.0 "重新"指向libgdk-x11-2.0.so.0.0.2.
#rm libgdk-x11-2.0.so.0 && /
>ln -slibgdk-x11-2.0.so.0.0.2libgdk-x11-2.0.so.0
重启eclipse.
报错,提示:
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x4D9A2766
Function=g_type_check_instance_is_a+0x7E
Library=/usr/lib/libgobject-2.0.so.0
说明修改libgdk-x11-2.0.so.0的指向是对的.
同样,修改libgobject-2.0.so.0的指向
#rm libgobject-2.0.so.0 && ln /
>-s libgobject-2.0.so.0.0.2 libgobject-2.0.so.0
运行eclipse.报libgdk-x11-2.0.so.0出错,同上一个信息.
无奈,将libgdk-x11-2.0.so.0和libgobject-2.0.so.0指向改回. . #rm libgdk-x11-2.0.so.0 && ln /
> -s libgdk-x11-2.0.so.0.0.6 libgdk-x11-2.0.so.0
#rm libgobject-2.0.so.0 && ln /
>-s libgobject-2.0.so.0.0.6 libgobject-2.0.so.0
重启eclipse.
期待中的报错没有出现!建一个工程,加入一个带简单main()的class,编译,运行,
输出'yes!!!'.
退出,再重启eclipse,运行正常.
由于连续三天受到太多不确定因素的多次打击,以至于形成了不确定的怀疑心理-----
还是重启系统测试一次.
重启系统.运行eclipse无问题,终于可以放心的使用eclipse了~~.
可是为什么改一下libgdk-x11-2.0.so.0的指向,再恢复回去就运行正常了?我不知道.
十.总结.
三天后我得到的教训是,在linux下,
A.安装软件前先要看(a)版本说明,(b)安装说明(我第一步就错了,方向性错误直接成就
了我的三天痛苦.)
B.不要用同样的方式做重复的动作,例如循环式的慢速下载.(其实我在win98下就有各种
版本的j2sdk和eclipse,只需把windows分区挂装过来就可以了.俺为啥总是做"事后之师"?)
C.不可轻易就打系统的主意,系统重装是一件耗费时间精力的事情.(我选择服务器方式重装
Redhat用了40多分钟---为什么重装而不用修复系统?)
后悔归后悔,"成功"地把eclipse装到了Redhat7.3下,还是有很大的成就感,但愿你不会和我一样碰到相似的问题,郁闷N久,快绝望了才把问题解决,还不知道自己怎么把问题解决的.