从EasyWine上看到的这个游戏,觉得和我以前玩的暴力赛车(tdr2000,现在还珍藏着呢,撞车就赚钱,把人家的车都撞坏了就胜利,特过瘾;还有一个更早的,可惜名字实在是忘记了,也找不到安装盘了,主角有两辆车可选,车子正中间都有一道类似嬉皮士头发的“锯齿”,当然也可以换用其他车,鼠标是一只断掉了滴着鲜血的手!)有点类似,所以下下来体验一下。
automanic下载后,压缩包中既有源码也有二进制文件,直接运行的话,提示缺包,先是提示缺少libCgGL.so, libCg.so,这个可以从nvidia官网下载,解压缩后,选择对应的架构,把同名文件ln到/usr/lib即可;然后又提示缺少libode.so,安装源中的libode0c2,然后把libode.so.0 ln为/usr/lib/libode.so;再提示缺少libcal3d.so.11,安装源中的libcal3d11c2a即可。
然后就是个大牌了,提示缺少Crystal Space,于是安装crystalspace相关的包:
但是游戏仍然无法运行,没办法,用源码手工编译好了:
看来还缺少cel,大概也是crystalspace项目的一部分,而cel也没有提供二进制文件,源中也没有,所以需要手工编译,从这里下载下来源文件包,解压缩然后./configure & make & make install。
也可以使用jam安装,crystalspace3d官方文档推荐使用jam,效果是一样的。可是安装完成之后,运行测试程序walktest却出错:
关于这个错误信息,这里倒是有个小讨论,解决方法,是安装mesa-dev,而我发现ubuntu中只有libgl1-mesa-dev和libglu1-mesa-dev,所以装上试试,同时还会安装上mesa-common-dev,安装完之后重新编译。。。重新编译以后,错误居然更多了:
看来问题没有解决,还是把那三个包删除了吧。再回过头看看crystal space所依赖的外部包,逐一检查是否安装正常,问题也许就出在这里。
zlib – zlib1g, zlib1g-dev都已安装 libpng – libpng12-0, libpng12-dev都已安装 libjpeg – libjpeg-progs, libjpeg62都已安装 jam – 也安装上了
再检查一下可选包:
freetype2 – libfreetype6装上了,libfreetype6-dev没装,装之 cg – 上面说过了,已经装上了 ode – 同cg bullet – 源中没找到对应,暂时先不装 cal3d – libcal3d11c2a已装,libcal3d11-dev没装,装之 lib3ds – 源中有lib3ds-dev,未装,装之 ogg/vorbis – libvorbis0a, libvorbisenc2已装,libvorbis-dev未装,先忽略声音问题,暂时先不装 libmng – libmng1已装,libmng-dev未装,装之,同时会捎带装上libjpeg62-dev liblcms1-dev caca – caca-utils应该不用装吧,libcaca-dev未装,装之,同时会捎带装上libncurses5-dev libslang2-dev libx11-dev libxau-dev libxdmcp-dev libxext-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xtrans-dev cegui – libcegui-mk2-dev未装,装之,同时会捎带装上libcegui-mk2-0c2a libxerces27 libxerces27-dev wxWidgets – 看介绍好像没用,不装了 maps – 运行demo所需要的,不装了
。。。上述能装的都装了之后,再./configure,然后查看config.log,结果依然失望:
这些明明装上了的包也识别不出来,或许是位置不对什么的问题,在config.log搜索glx也没有结果,以我的水平看来无法解决此问题了,就此打住,没用的东西都删掉,这个游戏我不玩了,清闲一点好好过年!
Update:
后来发现,我确实没有安装opengl的library,因为我忘记了凡是手工编译包的情况,都需要安装***-dev包,ev包中含有编译时需要的头文件,不带dev的包都只是二进制文件而已。所以,在安装lincity的时候就顺利多了,凡是缺少的包我都能装上。不过最终还是没有能安装成功,因为configure之后,需要用jam编译,可我输入jam命令之后,电脑什么都不干,无奈只好再次放弃。下面是一些configure时缺少的包的安装记录:
install packages: libglib2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libxml++2.6-dev libxml++2.6c2a libxml2-dev
install packages: libgl1-mesa-dev mesa-common-dev
install packages: libaa1-dev libartsc0-dev libasound2-dev libaudio-dev libaudiofile-dev libdirectfb-dev libdirectfb-extra libesd0-dev libfreetype6-dev libglu1-mesa-dev libice-dev libjpeg62-dev libncurses5-dev libsdl1.2-dev libslang2-dev libsm-dev libx11-dev libxau-dev libxdmcp-dev libxext-dev libxt-dev x-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xtrans-dev
install packages: libogg-dev libsdl-mixer1.2-dev libsmpeg-dev libvorbis-dev
install packages: libsdl-image1.2-dev libtiff4-dev libtiffxx0c2
install packages: libsdl-ttf2.0-dev
install packages: libsdl-gfx1.2-4 libsdl-gfx1.2-dev
install packages: libphysfs-dev
再后来。。。我从lincity官网上发现,debian和ubuntu等linux下都有现成的二进制包可用,我居然舍近求远。。。猪年不利啊。。。:( 不过已经没有心情再安装了。