编译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的源码包。首先,我们需要理解JDK(Java Development Kit)的重要性,它是开发和运行Java应用程序的基础。JDK包含了Java编译器、调试器、JRE(Java ...
openjdk 8 编译JDK结果,自己编译,可以代替oracle jdk使用。具体编译方法也在我的共享中上传,希望对你有帮助。
标题“自己编译JDK”涉及的是一个技术过程,即如何从源代码层面构建Java Development Kit(JDK)。这个过程对于开发者来说具有重要的学习价值,因为它可以帮助深入理解JDK的工作原理,同时也为自定义功能或者优化JDK...
标题中的“jdk1.5 jdk1.6 反编译 工具”指的是用于对Java字节码进行反编译的软件,这类工具能够将Java的.class文件转换回可读的.java源代码形式,这对于理解和学习已有的Java类库或者进行逆向工程非常有帮助。...
FrontEnd Plus V1.04 (最新版,支持反编译jdk1.6) --(内含jad) 著名的java反编译工具 jad的可视化图形工具 ======================================= 今天本想在CSDN下载个反编译工具FrontEnd ....
Luyten可以反编译jdk1.8的java代码, 以前用jd-gui,感觉挺好用的。最近项目用了jdk1.8,jd-gui就不好用了,总是显示// INTERNAL ERROR //
Java JDK 1.7源码包是用于在CentOS 7操作系统上进行OpenJDK 1.8编译的重要资源。这个源码包包含了Java Development Kit的1.7版本,通常被称为JDK 7,它是Oracle公司发布的Java编程语言和Java平台标准版的一个实现。...
对于想了解JDK源码的朋友来说,通过调试JDK源码来学习是一个常用的方法。但是默认的情况下eclipse是...二是自己去编译jdk源码,如何自己编译可以参看我的博客:http://blog.csdn.net/ftp_2014/article/details/51087603
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 ...
decompiler1.0.3支持JDK1.8,支持反编译、查看源码 推荐links方式安装,安装教程:http://www.blogjava.net/tangzurui/archive/2008/06/30/211669.html
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
深入理解Java虚拟机中右编译JDK的附录,自己结合自己的环境(win 7 64)编译的openjdk的hotspot和jdk8
### Android 2.2 源码编译指南:Ubuntu 10.04 (X86) + Android 2.2 + JDK 1.6 #### 一、环境搭建 在进行Android 2.2源码编译之前,我们需要准备一个合适的开发环境。根据题目中的描述,本指南将详细介绍如何在...
jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具jdk反编译工具
这篇文档详细介绍了如何解决这一问题,主要分为两个部分:编译JDK的源代码(src.zip)以及将编译后的debug_rt.jar添加到系统库中。 首先,我们需要编译JDK的源代码。这个过程包括以下几个步骤: 1. 解压JDK安装...
Java开发工具包(JDK)是Java编程语言的核心组件,其中包含了用于编译、调试和运行Java应用程序的各种工具。在 JDK 1.8 版本中,开发者们有时需要查看已编译的`.class`文件的源代码,以便理解其内部工作原理或进行...
友善之臂搭建NanoPi M1 Plus(全志H3 arm开发板)安卓编译环境过程中所需的jdk和gcc,当然其他需要这两个文件也可以用。如果你正好也在编译M1,可以看编译教程:codbo.cn/blog-231.html
这将编译 JDK,并生成可执行文件。 安装 JDK 现在,我们可以安装 JDK 了。执行以下命令: ``` sudo apt-get install sun-java6-plugin sun-java6-jre sun-java6-bin sun-java6-jdk ``` 这将安装 JDK 的所有组件,...
非常好用的反编译工具jd-gui,反编译工具支持jdk1.7及以下反编译,反编译工具支持jdk1.7及以下反编译