zoukankan      html  css  js  c++  java
  • OPENJDK 源码编译

    一、整体编译

    我的环境:

    Ubuntu 16.04 LTS 

    apache-ant-1.8.0-bin.zip

    环境变量:

    export LANG=C
    export ALT_BOOTDIR=/home/wangx/warehouse/jdk1.7.0_80
    export ALLOW_DOWNLOADS=true
    export HOTSPOT_BUILD_JOBS=6
    export ALT_PARALLEL_COMPILE_JOBS=6
    export SKIP_COMPARE_IMAGES=true
    export USE_PRECOMPILED_HEADER=true
    export BUILD_LANGTOOLS=true
    #export BUILD_JAXP=false
    #export BUILD_JAXWS=false
    #export BUILD_CORBA=false
    export BUILD_HOTSPOT=true
    export BUILD_JDK=true
    #export SKIP_DEBUG_BUILD=false
    #export SKIP_FASTDEBUG_BUILD=true
    #export DEBUG_NAME=debug
    BUILD_DEPLOY=false
    BUILD_INSTALL=false
    export ALT_OUTPUTDIR=/home/wangx/warehouse/openjdk7src
    unset JAVA_HOME
    unset CLASSPATH

     获取jdk8u源代码

    sudo hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev
    bash ./get_source.sh

    准备编译

    sudo bash configure --with-boot-jdk=/home/wangx/warehouse/jdk1.7.0_80

    开始编译,由于我已经编译过了,所以下面的回显显得很简单

    wangx@wangx-VirtualBox:~/warehouse/jdk8u-dev$ sudo make
    Building OpenJDK for target 'default' in configuration 'linux-x86_64-normal-server-release'
    
    ## Starting langtools
    ## Finished langtools (build time 00:00:00)
    
    ## Starting hotspot
    ## Finished hotspot (build time 00:00:00)
    
    ## Starting corba
    ## Finished corba (build time 00:00:00)
    
    ## Starting jaxp
    ## Finished jaxp (build time 00:00:01)
    
    ## Starting jaxws
    ## Finished jaxws (build time 00:00:00)
    
    ## Starting jdk
    ## Finished jdk (build time 00:00:01)
    
    ----- Build times -------
    Start 2017-08-30 00:28:27
    End   2017-08-30 00:28:29
    00:00:00 corba
    00:00:00 hotspot
    00:00:01 jaxp
    00:00:00 jaxws
    00:00:01 jdk
    00:00:00 langtools
    00:00:02 TOTAL
    -------------------------
    Finished building OpenJDK for target 'default'

    我编译后生成的结果位于:/home/wangx/warehouse/jdk8u-dev/build/linux-x86_64-normal-server-releas/

    二、只编译HOTSPOT虚拟机

    cd hotspot/make/
    make 2>&1 | tee ./hotspot_debug.log

    sys/cdefs.h no such file or directory  则sudo apt-get install g++-multilib

    bits/c++config.h: No such file or directory  则sudo apt-get install gcc-4.7-multilib g++-4.7-multilib

    编译输出目录为

    /home/wangx/jdkresearch/jdksource/jdk8u-dev/hotspot/build/linux/linux_i486_compiler2/product

    三、在eclipse中调试hotspot

    1.下载eclipse CDT  也就是eclipse 支持 C/C++的版本

    2.new->Makefile Project with Existing Code

    3

    4.项目配置,右键properties

     5.Project->Build Project

  • 相关阅读:
    小笔记系列——Excel中获取当前日期
    Git 错误:OpenSSL SSL_read: Connection was reset, errno 10054
    cmd_切换文件目录的几种方法
    Jupyter Notebook 常用操作(持续更新中……)
    chrome 浏览器书签保存
    各种开发工具注释的快捷键(持续更新中…)
    Spyder 快捷键(注释、跳转、缩进)
    ISlide插件安装后,PPT无法正常关闭
    [TimLinux] 操作系统实战45讲
    [TimLinux] vnc and go bashrc
  • 原文地址:https://www.cnblogs.com/heben/p/7440294.html
Copyright © 2011-2022 走看看