• CentOS 编译 openjdk


    1. 概述

        <<深入理解Java虚拟机--JVM高级特性与最佳实践>>第一章就谈到自己编译jdk,来吧。

    2.  编译环境

        VMware12

        CentOS-7-x86_64-Everything-1611

    3. 软件准备

        Bootstrap JDK:  jdk-7u79-linux-x64.tar.gz

        OpenJDK:  https://jdk7.java.net/source.html

    4. 编译依赖

      4.1 安装alsa软件包

           yum -y install alsa-lib-devel

      4.2 安装 cups-devel

          yum -y install cups-devel

      4.3 安装lib相关库

          yum -y install libX*

      4.4 安装gcc

          yum -y install gcc gcc-c++

      4.5 安装freetype

           4.5.1 下载 http://rpm.pbone.net/index.php3/stat/4/idpl/26641422/dir/centos_7/com/freetype-2.4.11-9.el7.x86_64.rpm.htm

           4.5.2 安装  rpm -ivh freetype-2.4.11-9.el7.x86_64.rpm

      4.6 安装ant

            yum -y install ant

            说明: 这时会将openjdk作为依赖进行安装; 安装完, java -version| ant -version看看

                    && 使用ant.tar.gz解压方式安装 不要安装配置jdk依赖

      4.7 安装libstdc++

            yum -y install libstdc++-static

            说明: 此安装为解决编译时出错 ERROR: Cannot chcon libjvm.so

     

    5. 环境变量配置 vim /etc/profile

        export CLASSPATH

      export JAVA_HOME

        export LANG=C

        export ALT_BOOTDIR=/usr/java/jdk1.7.0_76

        export ALLOW_DOWNLOADS=true

        export USE_PRECOMPILED_HEADER=true

        export ARCH_DATA_MODEL=64

        export HOTSPOT_BUILD_JOBS=4

        export ALT_PARALLEL_COMPILE_JOBS=4

        export SKIP_DEBUG_BUILD=false

        export SKIP_FASTDEBUG_BUILD=true

        export DEBUG_NAME=debug

        export ALT_OUTPUTDIR=/usr/java/openjdk/build

    6.  编译检查

         make sanity

         若输出结果为:Sanity check passed,表示设置正确

    7.  执行编译

         make

    8.  编译时可能出现的其他问题

         8.1 ./gamma: relocation error: /usr/java/jdk1.7.0_76/jre/lib/amd64/libjava.so:

                删除 /usr/java/openjdk/hotspot/make/linux/Makefile文件中 所有test_gamma
                (vim Makefile-> /test_gamma查找->:%s/&& ./test_gamma//g替换所有)

         8.2  Error: time is more than 10 years from present:

                /usr/java/openjdk/jdk/src/share/classes/java/util/CurrencyDate.properties文件中所有时间改为近期

                vim 指令   /20..-搜索-> i 修改 -> esc退出i -> n下一个位置 -> i 直到全部改完

         8.3  其他

                make clean 可以清一下之前编译

    9. 结果图

       

    10. debug版jdk

         /usr/java/openjdk/build-debug/j2sdk-image下的内容为debug版jdk

         删除原有jdk,配置环境变量JAVA_HOME CLASSPATH PATH

       

        查看jdk版本

       

  • 相关阅读:
    python按行读取并替换
    python 爬取网页内容
    file.write(str),file.writelines(sequence)
    04Spring_bean 后处理器(后处理Bean),BeanPostProcessor ,bean创建时序,动态代理
    03Spring_bean的创建和作用域以及生命周期
    02Spring_Ioc和DI介绍
    01Spring_基本jia包的导入andSpring的整体架构and怎么加入日志功能
    错题724-java
    05传智_jbpm与OA项目_部门模块中增加部门的jsp页面增加一个在线编辑器功能
    04传智_jbpm与OA项目_部门模块改进_直接在BaseAction中实现ModelDriven<T>
  • 原文地址:https://www.cnblogs.com/rocky-fang/p/6677921.html
Copyright © 2020-2023  润新知