由于近期编译android6源码,发现其依赖于jdk7,(parrot已经用上了最新的10),不知能否改用jdk7?
此外对于i386相关的依赖是否有办法在parrot上安装。(ubuntu下可以使用)
当前parrot版本:4.2 64位
由于近期编译android6源码,发现其依赖于jdk7,(parrot已经用上了最新的10),不知能否改用jdk7?
此外对于i386相关的依赖是否有办法在parrot上安装。(ubuntu下可以使用)
当前parrot版本:4.2 64位
dpkg --add-architecture i386
可以开启i386的支持
恩,之前开启过了,但相关依赖却无法定位
比如libreadline6-dev:i386
知道了,之前忘了update了
现在解决了吗
i386依赖没问题了,但jdk7还有问题
下载个jdk7安装后找到路径, 或者是解压版本的自己自定义路径,我这个是jdk8的配置。
先用命令新增加一项: update-alternatives --install
,然后配置选择新配置的即可,
命令可用–help看下简要帮助。或者网上参考一下其它用法
$sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1101 auto mode
1 /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1101 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 manual mode
* 4 /usr/lib/jvm/jdk18/bin/java 1100 manual mode
Press <enter> to keep the current choice[*], or type selection number:
以及
$sudo update-alternatives --config javac
There are 4 choices for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1101 auto mode
1 /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1101 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1081 manual mode
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/javac 1091 manual mode
* 4 /usr/lib/jvm/jdk18/bin/javac 1100 manual mode
Press <enter> to keep the current choice[*], or type selection number:
我只配置了这两个,查看所有 update-alternatives --get-selections
找JAVA开头的,不一定都需要。
后期如果打开某些JAVA程序出异常用不了,就是全恢复到包管理器安装的最高版本再试试。别问我这个坑我跨了多久,更不用问我是怎么知道的这个坑
我是卡在了安装上;
本来打算安装openjdk-7-jdk,但它需要openjdk-7-jre支持,
然后在下载jre安装,结果需要jre-headless支持。
安装jre-headless时需要tzdata-java相对应的低版本,于是先降了版本(实际上只有低版本的tzdata才有tzdata-java);
然后其又于本地系统自带的jre8-headless相冲突;
于是想到卸载jre8-headless,又出现这个情况:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:下列软件包有未满足的依赖关系:
maltego-teeth : 依赖: maltegoce 或
maltego 但是它将不会被安装
E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。
那就直接找ORACLE的JDK压缩包吧,解压直接使用,即使不配置到系统环境里面也可以单独做为WEB中间件的引用目录。 在你的工具启动脚本启动时调用JAVA前的某个必需经过的脚本里面EXPORT一下JAVA_HOME就好了,可以参考TOMCAT的解压部署方法.
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export JRE_HOME=/usr/lib/jvm/java-6-sun/jre
另外,你的方法可以再尝试下在 dpkg -i 已有的软件包.deb
之后再用 apt-get -f install
命令来补全依赖包。
总结一下:
首先是对i386的支持:
sudo dpkg --add-architecture i386
sudo apt update
然后是jdk7的安装与配置:
在这里下载Oracle jdk包
然后解压拷贝到自己的路径(如:/usr/lib/jvm/jdk7)
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk7/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk7/bin/javac 300
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk7/bin/javah 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk7/bin/jar 300
然后就是配置本地jdk使用版本了
sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).Selection Path Priority Status
- 0 /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1101 auto mode
1 /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1101 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/jdk7/bin/java 300 manual modePress to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/lib/jvm/jdk7/bin/java to provide /usr/bin/java (java) in manual mode
和javac
sudo update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).Selection Path Priority Status
- 0 /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1101 auto mode
1 /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1101 manual mode
2 /usr/lib/jvm/jdk7/bin/javac 300 manual modePress to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/jdk7/bin/javac to provide /usr/bin/javac (javac) in manual mode
结果:
java -version
java version “1.7.0_80”
Java™ SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot™ 64-Bit Server VM (build 24.80-b11, mixed mode)
javac -version
javac 1.7.0_80
至于openjdk-7的话,暂时就只有放一放了。
这是我根据@Akira和@lee配置的方法,谢谢指导
其它参考文档:
https://blog.csdn.net/jiuyueguang/article/details/9350857