`
xussen
  • 浏览: 31723 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

编译JDK

 
阅读更多
编译hotspot的时候可能会出现的错误:
"*** This OS is not supported:" `uname -a`; exit 1;
这是由于内核版本太高了,hotspot默认支持的linux版本只到2.6,而ubuntu12的kernel是3.2,需要简单hack一下hotspot/make/linux/Makefile
两种方式解决:
方法一:
uname -r
#查看当前的内核版本:
3.2.0-20-generic

#在这行最后加上当前的内核版本3.2%,如下:
SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7% 3.2%

方法二:
vi hotspot/make/linux/Makefile
注释掉下面代码:
check_os_version:
#ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),)
# $(QUIETLY) >&2 echo "*** This OS is not supported:" `uname -a`; exit 1;
#endif

interfaceSupport宏变量冲突错误:
ubuntu12的glibc比较新,在linux的头文件cdefs.h里,有个__LEAF的宏,这个和hotspot/src/share/vm/runtime/interfaceSupport.hpp这个头文件中的宏定义有冲突,我们增加一个#undef __LEAF如下:
// LEAF routines do not lock, GC or throw exceptions
#ifdef __LEAF
#undef __LEAF
#define __LEAF(result_type, header)                                  \
  TRACE_CALL(result_type, header)                                    \
  debug_only(NoHandleMark __hm;)                                     \
  /* begin of body */
#endif

sound错误
cd jdk/make/javax/sound/jsoundalsa
vim Makefile
#找到CPPFLAGS ,在其结尾,添加 -lasound

make[5]: *** [/home/lichengwu/openjdk7/build/linux-amd64/lib/amd64/libjsoundalsa.so] Error 1
解决:
ln -s build/linux-amd64/lib/amd64/libjsound.so build/linux-amd64/lib/amd64/libjsoundalsa.so
如果ln不行 就用cp

freetype出错,报/usr/lib/libfreetype.so找不到
其实安装FreeType的时候系统默认放到了/user/local/lib/libfreetype.so下
解决
1.link或者copy到/usr/lib下
2.其实在为编译jdk前环境变量设置的时候就应该将ALT_FREETYPE_LIB_PATH设置成/usr/lib;/usr/local/lib。这样才算是最正确的解决方法

开始编译
sudo make SKIP_COMPARE_IMAGES=true BUILD_DEPLOY=false BUILD_INSTALL=false ALT_BOOTDIR=/usr/bin/jdk1.6.0_31 ALT_JDK_IMPORT_PATH=/usr/bin/jdk1.6.0_31 ALT_DEVTOOLS_PATH=/usr/bin BUILD_CORBA=false BUILD_JAXP=false BUILD_JAXWS=false
分享到:
评论

相关推荐

    ubuntu 18.04编译JDK 12源码包

    在本文中,我们将深入探讨如何在Ubuntu 18.04操作系统上编译JDK 12的源码包。首先,我们需要理解JDK(Java Development Kit)的重要性,它是开发和运行Java应用程序的基础。JDK包含了Java编译器、调试器、JRE(Java ...

    openjdk 8 编译JDK结果

    openjdk 8 编译JDK结果,自己编译,可以代替oracle jdk使用。具体编译方法也在我的共享中上传,希望对你有帮助。

    自己编译JDK

    标题“自己编译JDK”涉及的是一个技术过程,即如何从源代码层面构建Java Development Kit(JDK)。这个过程对于开发者来说具有重要的学习价值,因为它可以帮助深入理解JDK的工作原理,同时也为自定义功能或者优化JDK...

    jdk1.5 jdk1.6 反编译 工具

    标题中的“jdk1.5 jdk1.6 反编译 工具”指的是用于对Java字节码进行反编译的软件,这类工具能够将Java的.class文件转换回可读的.java源代码形式,这对于理解和学习已有的Java类库或者进行逆向工程非常有帮助。...

    FrontEnd Plus V1.04(最新版,支持反编译jdk1.6)

    FrontEnd Plus V1.04 (最新版,支持反编译jdk1.6) --(内含jad) 著名的java反编译工具 jad的可视化图形工具 ======================================= 今天本想在CSDN下载个反编译工具FrontEnd ....

    luyten-0.5.3可以反编译jdk1.8代码

    Luyten可以反编译jdk1.8的java代码, 以前用jd-gui,感觉挺好用的。最近项目用了jdk1.8,jd-gui就不好用了,总是显示// INTERNAL ERROR //

    自己重新编译的jdk源码jar包

    对于想了解JDK源码的朋友来说,通过调试JDK源码来学习是一个常用的方法。但是默认的情况下eclipse是...二是自己去编译jdk源码,如何自己编译可以参看我的博客:http://blog.csdn.net/ftp_2014/article/details/51087603

    java jdk1.7源码包,用于centos7使用jdk1.7编译openjdk1.8的 1.7版本

    Java JDK 1.7源码包是用于在CentOS 7操作系统上进行OpenJDK 1.8编译的重要资源。这个源码包包含了Java Development Kit的1.7版本,通常被称为JDK 7,它是Oracle公司发布的Java编程语言和Java平台标准版的一个实现。...

    java反编译工具jad 1.5.8g(可以反编译jdk1.5,1.6)

    java反编译工具jad 1.5.8g支持 jdk1.5,jdk1.6。 说明很多 记住一个万能的命令基本就够用了。 jad -sjava -r -8 -o **\*.class <br>--------------- This is README file for Jad - the fast Java ...

    eclipse反编译插件decompiler1.0.3,支持jdk1.8

    decompiler1.0.3支持JDK1.8,支持反编译、查看源码 推荐links方式安装,安装教程:http://www.blogjava.net/tangzurui/archive/2008/06/30/211669.html

    JAVA反编译工具JD-GUI最新版,支持JDK7,8,9,10

    1、支持JDK 1.1.8, JDK 1.3.1, JDK 1.4.2, JDK 1.5.0, JDK 1.6.0, JDK 1.7.0, JDK 1.8.0, JDK 9.0.1, JDK 10.0.2 2、下载包,包含jd-gui-1.6.3.jar,jd-gui-windows-1.6.3.zip,jd-eclipse-2.0.0

    编译好的 Hotspot 和jdk8

    深入理解Java虚拟机中右编译JDK的附录,自己结合自己的环境(win 7 64)编译的openjdk的hotspot和jdk8

    jdk21 - 21.0.4 - macos

    软件:jdk java 版本: 21.0.4 平台: macos 下载日期: 2024-09-10

    android2.2源码编译-Ubuntu10.04 (X86) + android2.2 + JDK1.6

    ### Android 2.2 源码编译指南:Ubuntu 10.04 (X86) + Android 2.2 + JDK 1.6 #### 一、环境搭建 在进行Android 2.2源码编译之前,我们需要准备一个合适的开发环境。根据题目中的描述,本指南将详细介绍如何在...

    jdk反编译工具

    jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具

    查看JDK中变量的值, debug JDK

    这篇文档详细介绍了如何解决这一问题,主要分为两个部分:编译JDK的源代码(src.zip)以及将编译后的debug_rt.jar添加到系统库中。 首先,我们需要编译JDK的源代码。这个过程包括以下几个步骤: 1. 解压JDK安装...

    jdk1.8class反编译

    Java开发工具包(JDK)是Java编程语言的核心组件,其中包含了用于编译、调试和运行Java应用程序的各种工具。在 JDK 1.8 版本中,开发者们有时需要查看已编译的`.class`文件的源代码,以便理解其内部工作原理或进行...

    ARM64架构下的jdk7,适配最新架构,陈年代码

    在ARM64架构下,JDK 7可能包括对ARM硬件的特定优化,以提高性能和兼容性。例如,华为的毕昇JDK就是基于OpenJDK定制的,它在ARM架构上进行了性能优化,并且在内部广泛使用。毕昇JDK支持JDK 8和JDK 11两个长期支持版本...

    ubuntu 安装JDK

    这将编译 JDK,并生成可执行文件。 安装 JDK 现在,我们可以安装 JDK 了。执行以下命令: ``` sudo apt-get install sun-java6-plugin sun-java6-jre sun-java6-bin sun-java6-jdk ``` 这将安装 JDK 的所有组件,...

Global site tag (gtag.js) - Google Analytics