当前位置:   article > 正文

centos7 编译 openjdk8_error: failed to solve: deadlineexceeded: deadline

error: failed to solve: deadlineexceeded: deadlineexceeded: deadlineexceeded

编译前注意问题

1、编译openjdk时,需要提供一个启动jdk,很奇怪的慨念,我用JDK 1.7,即boot JDK.boot JDK需为当前编译的openjdk的上一个版本。例如这里编译的openjdk8,就要用jdk7作为启动jdk; 

环境、工具的准备 
OS:CentOS 7 64bit; 
OpenJDK:openjdk-8u40; 
Boot JDK:jdk-1.7.0.14;

 

  1. yum groupinstall "Development Tools"
  2. yum install libXtst-devel libXt-devel libXrender-devel
  3. yum install cups-devel
  4. yum install freetype-devel
  5. yum install alsa-lib-devel

可能以上类库还不够,但在以后的configure操作会有提示你缺哪些类库或者哪些工具,然后根据提示一 一安装好。

话说提示要装CCACHE,不过很可惜,yum search都找不到任何CCACHE,是不是我的源有问题。

构建并编译

  1. //打开要编译的openjdk目录
  2. cd /usr/openjdk/openjdk-8u40-src-b25-10_feb_2015/openjdk
  3. //生成配置信息并构建编译环境
  4. bash ./configure --with-target-bits=64 --with-boot-jdk=/usr/java/MYBOOTJDK_1.7/ --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0
  5. //开始编译
  6. make all ZIP_DEBUGINFO_FILES=0

以上的参数简单作一些说明: 
–with-target-bits=64 :指定生成64位jdk; 
–with-boot-jdk=/usr/java/MYBOOTJDK_1.7/:启动jdk的路径; 
–with-debug-level=slowdebug:编译时debug的级别,有release, fastdebug, slowdebug 三种级别; 
–enable-debug-symbols ZIP_DEBUGINFO_FILES=0:生成调试的符号信息,并且不压缩;

若在configure过程中提示安装工具,则在安装完工具后执行make clean进行清理方可再次configure,否则会config不成功。

configure成功后执行make 编译工作,这将是个漫长的等待过程,网上说这个过程很长,不过讲真,我这里还是挺快。我用的还是VirtualBox虚出来的,只用了22分钟。

接下来要反安装掉CENTOS里内置的OPENJDK7和8

yum list installed |grep java

yum -y remove java-1.7.0-openjdk-openjdk*

删除完了就配置一下环境变量,由于我的JDK在编译完之,在BULID生成了编译完的文件夹(名字很长对不对),所以:

vim /etc/profile

  1. JAVA_HOME=/root/open_jdk8/build/linux-x86_64-normal-server-slowdebug/jdk/
  2. JRE_HOME=$JAVA_HOME/jre
  3. PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  4. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  5. export JAVA_HOME JRE_HOME PATH CLASSPAT

source /etc/profile

 

再来一次java -version

大功告成!!!

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号