一、首先从Alienbrain_EN_10.5.zip安装包(网上可搜索下载)里提取出linux版安装文件:Installations/Clients/Linux/NoVM/install.bin并chmod+x使之可执行
二、如果直接运行,可能会出现大把问题,逐步解决如下:
1、首先是报libc.so.6找不到:strings: ‘/lib/libc.so.6‘: No such
file。这里只要做个链接:/lib/libc.so.6 -> /lib/x86_64-linux-gnu/libc.so.6
2、然后报当前java不支持32位程序:This Java instance does not support a 32-bit
JVM。这是典型的64位ubuntu问题,用apt装的openjdk都是64位的。于是去java网站下载一个i586的版本,解压后,用update-alternatives来修改当前默认java:
[email protected]:/usr/lib/jvm$ sudo tar zxvf
/media/sf_hh/Downloads/jre-7u55-linux-i586.tar.gz[email protected]:/usr/lib/jvm$ sudo update-alternatives --install
/usr/bin/java java /usr/lib/jvm/jre1.7.0_55/bin/java 2000
3、切换之后再执行java,报错:
[email protected]:~$ /usr/lib/jvm/jre1.7.0_55/bin/java
bash:
/usr/lib/jvm/jre1.7.0_55/bin/java: 没有那个文件或目录
这个也是典型的64位ubuntu问题,需要安装32位库,但从13.10开始安装方式变了不能再直接用apt-get install
ia32来一次性安装,需要以指定:i386后缀的方式一一安装每个包。一般安装这些也就够了:
sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386
libncurses5:i386
4、现在执行install.bin,又报找不到awt错:java.lang.NoClassDefFoundError: Could not
initialize class
java.awt.Toolkit。网上搜索这个错误大部分给出的答案都是增加一个-Djava.awt.headless=true的参数来执行java,但那不是我们需要的,因为这里本来就是要显示awt安装界面。实际上这是因为java的awt用到的本地库也没有32位版本,只需要逐一安装即可。先用ldd查看awt的依赖:
[email protected]:~$ ldd /usr/lib/jvm/jre1.7.0_55/lib/i386/xawt/libmawt.so
linux-gate.so.1 => (0xf7775000)
libpthread.so.0 =>
/lib/i386-linux-gnu/libpthread.so.0 (0xf76f5000)
libm.so.6 =>
/lib/i386-linux-gnu/libm.so.6 (0xf76af000)
libawt.so =>
/usr/lib/jvm/jre1.7.0_55/lib/i386/xawt/../libawt.so
(0xf75fd000)
libXext.so.6 => not found
libX11.so.6 => not
found
libXrender.so.1 => not found
libdl.so.2 =>
/lib/i386-linux-gnu/libdl.so.2 (0xf75f8000)
libXtst.so.6 => not
found
libXi.so.6 => not found
libjava.so =>
/usr/lib/jvm/jre1.7.0_55/lib/i386/xawt/../libjava.so
(0xf75d3000)
libjvm.so => not found
libc.so.6 =>
/lib/i386-linux-gnu/libc.so.6 (0xf7424000)
/lib/ld-linux.so.2
(0xf7776000)
libjvm.so => not found
libjvm.so => not
found
libverify.so =>
/usr/lib/jvm/jre1.7.0_55/lib/i386/xawt/../libverify.so
(0xf7417000)
libjvm.so => not found
缺的这一堆libX的库,也没细究各有什么用,只要安装两个包:libqt,libxtst即可。
附带记一下,要给任意java程序设定参数,可以这种形式:export _JAVA_OPTIONS=-Djava.awt.headless=true
5、再次执行install.bin,终于一路顺利了,弹出了installanywhere风格的界面,跟mac/windows上果然差不多。
6、装完后,会在~/下创建一个runalienbrain链接,运行即可。但是有的时候又会报这个错:
Stack Trace:
java.lang.IllegalArgumentException: Malformed \uxxxx
encoding.
这多半是因为PS1环境变量里写了\u(用户名),而alienbrain在执行前会先把所有环境变量导出生成一个文件,在加载这文件时遇到\u,与java里unicode字符串的表示法巧合冲突了。解决办法就是先unset
PS1再运行即可,反正只是影响当前terminal。
在64位ubuntu上安装alienbrain客户端,布布扣,bubuko.com