zoukankan      html  css  js  c++  java
  • 在64位ubuntu上安装alienbrain客户端

    一、首先从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:

    dyj@dyj-VirtualBox:/usr/lib/jvm$ sudo tar zxvf /media/sf_hh/Downloads/jre-7u55-linux-i586.tar.gz

    dyj@dyj-VirtualBox:/usr/lib/jvm$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0_55/bin/java 2000

    3、切换之后再执行java,报错: 

    dyj@dyj-VirtualBox:~$ /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的依赖:

    dyj@dyj-VirtualBox:~$ 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。

  • 相关阅读:
    调用系统地图进行导航
    ShareSDK使用简介
    FMDB
    关于uitableView的Group模式滑动偏移问题
    iOS GCD详解
    通知中心传值
    开源 iOS 项目分类索引大全
    iOS10隐私设置及相应问题
    支付
    OC中如何把字典中的数据拼接成url字符串
  • 原文地址:https://www.cnblogs.com/wellbye/p/3750151.html
Copyright © 2011-2022 走看看