自己的本本买来很长时间了 最近装了给国产山寨的micro Sata, 因此W520自己带的500G硬盘压力轻了不少。 i7的4核8线程跑跑win7 太对不起它了, 赶紧的虚拟机装个自己用的最多的Fedora( 现在的最新版本16)。
最近在看深入理解Java虚拟机,作者推荐下载OpenJdK来自己编译玩玩。主意不错,有了Linux 操作系统就不用在windows 下面还需要悲催的又要cgwin 又要visual studio 了。下面就是安装编译Openjdk的过程了:
1, 下载 打包好的 OpenJdk 源代码包:openjdk-7-fcs-src-b147-27_jun_2011.zip
2, unzip 这个包。 我将它解压到 /root/openjdk 目录
3, yum-builddep java-1.6.0-openjdk
这是安装一个 jdk 6 在 /usr/lib/jvm/java-openjdk 这个位置。这个JDK 就是所谓的bootstrap jdk了. 因为在编译openjdk7 的时候java 部分的代码就是这个来编译的了。 当然c,c++部分是gcc 的干活。
4, 根据zip包里面的 Readme-builds.html 提示设置 环境变量如下:
export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-openjdk
export ALLOW_DOWNLOADS=true
export USE_PRECOMPILED_HEADER=true
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
unset CLASSPATH
unset JAVA_HOME
5, 修改 /root/openjdk/hotspot/make/linux下的Makefile文件,注释掉以下内容,若不注释,会报错,然后exit 1退出编译. 这个原因是因为OpenJDK 在2011 大概6月份的时候就出来了, 而那个时候Fedora 16 还没有出来, 应该还没有在OpenJDK支持的版本里面。 下面这个错误其实也是在编译的时候碰到,然后试着注释掉
- 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
6, make sanity
如果出现 check sanity passed !
7, make
需要说明的是 在gcc link hotspot 的时候 出现了一个错误
ld can not find libstdc++
大概是执行这个命令的时候
gcc -v -m64 -Xlinker -O1 -Wl,--hash-style=both -Xlinker -z -Xlinker noexecstack -shared \
-Xlinker --version-script=mapfile_reorder -Xlinker -soname=libjvm.so -static-libgcc -o libjvm.so ...\
-Wl,-Bstatic \
-lstdc++ -Wl,-Bdynamic -lm -ldl -lpthread; \
... 表示的N多个 .o 文件。 我们可以看到 gcc 是要静态link -lstdc++. 如果是静态的话 它应该是没有办法在 相关的lib下 找到 libstdc++.a 这个应该是fedora 16 在安装的时候 stdc++ 没有完全安装的缘故
试试 yum install libstdc++-static
然后 执行 find /usr -name libstdc++.a
可以找到 /usr/lib/gcc/x86_64-redhat-linux/4.6.2/libstdc++.a
/usr/lib/gcc/x86_64-redhat-linux/4.6.2/32/libstdc++.a
继续 执行 make, 终于看到 succss 的画面出现。 到build/linux-amd64/bin 下面执行
./java -version
openjdk version "1.7.0-internal-debug"
OpenJDK Runtime Environment (build 1.7.0-internal-debug-root_2012_03_11_21_31-b00)
OpenJDK 64-Bit Server VM (build 21.0-b17-jvmg, mixed mode)
呵呵成功了, 以后在linux 就用这个jdk 来玩了。
分享到:
相关推荐
在Fedora 8上,可以使用`yum`命令来安装缺失的依赖,如`sudo yum install openjdk* xcb*`. 2. **手动安装libxcb**:如果通过`yum`找不到`libxcb`,可能需要从源代码编译安装。首先,从官方仓库下载libxcb的源代码,...
在Linux环境下安装Java是许多开发者和系统管理员的基本任务,无论是为了开发Java应用程序,还是为了运行基于Java技术的服务器。在本篇文章中,我们将深入探讨如何在Linux系统上安装Java,包括从源码编译和使用预编译...
安装OpenJDK的过程主要依赖于`yum`包管理器,这是CentOS和Fedora等基于RedHat的Linux发行版的标准工具。以下是安装步骤: 1. 打开终端并以root用户身份登录,因为安装Java通常需要管理员权限。 2. 使用`yum search...
Oracle JDK 11.0.15 是Oracle公司发布的一个重要的Java开发工具包,它是Java Development Kit (JDK) 的一个版本,用于支持Java应用程序的开发、编译和运行。这个版本是针对Java 11的,Java 11是一个长期支持(LTS)...
对于 Fedora 20 / x86_64 - 有关更多详细信息/替代架构,请参阅 您需要确保安装了一些软件包 - 以 root 身份执行以下操作: yum install java-1.7.0-openjdk mercurial freetype-devel cups-devel gcc gcc-c++ p7...
本文将详细介绍如何在Linux环境下安装JDK,以及配置相应的环境变量,确保Java程序能够顺利运行。 首先,你需要选择适合你的Linux发行版的JDK版本。Oracle公司提供了适用于Linux的JDK,但现在也提供了OpenJDK作为...
欢迎来到转储矿石词典! 编译 安装 Java Java JDK 用于编译 Dump OreDictionary。 下载并安装 Java JDK。 。 向下滚动,接受Oracle Binary Code License ... Fedora: yum install java-1.7.0-openjdk 设置环境
欢迎使用 InGame Mod 配置!... Gentoo: emerge dev-java/oracle-jdk-bin Archlinux: pacman -S jdk7-openjdk Ubuntu/Debian: apt-get install openjdk-7-jdk Fedora: yum install java-1.7.0-openjdk 设
欢迎使用扩展修复程序! 编译 安装 Java Java JDK 用于编译 Extension Fixer。 下载并安装 Java JDK。 。 向下滚动,接受Oracle Binary Code License ... Fedora: yum install java-1.7.0-openjdk 设置环境。 W
欢迎使用配置补丁程序! 编译 安装 Java Java JDK用于编译Config Patcher。 下载并安装 Java JDK。 。 向下滚动,接受Oracle Binary Code License ... Fedora: yum install java-1.7.0-openjdk 设置环境。 Wind
Gentoo: emerge dev-java/oracle-jdk-bin Archlinux: pacman -S jdk7-openjdk Ubuntu/Debian: apt-get install openjdk-7-jdk Fedora: yum install java-1.7.0-openjdk 设置环境。 Windows:为 JDK 设
欢迎来到Arrow Flight Path! 编译 安装 Java Java JDK用于编译Arrow Flight Path。 下载并安装 Java JDK。... Ubuntu/Debian: apt-get install openjdk-7-jdk Fedora: yum install java-1.7.0-openj
欢迎来到简介! - 对于那些想要最新的未发布功能的人-... Gentoo: emerge dev-java/oracle-jdk-bin Archlinux: pacman -S jdk7-openjdk Ubuntu/Debian: apt-get install openjdk-7-jdk Fedora: yum install java-1.7.0
2. **RPM安装包**:RPM (Red Hat Package Manager) 是Linux发行版如Fedora、CentOS等常用的软件包管理格式。对于这些系统,您可以使用`rpm -ivh jdk-8.rpm`命令来安装JDK,其中`-i`代表安装,`-v`是详细模式,`-h`是...
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm ``` 如果你的系统已经安装了最新的EPEL仓库,则无需再次安装。可以使用以下命令...
在Linux环境中,Java开发工具包(JDK)是必不可少的工具之一,它为开发者提供了编译、运行Java应用程序的能力。对于基于Red Hat的Linux发行版(如CentOS、Fedora等),通过`yum`(Yellowdog Updater Modified)包...
8. **维护与更新**: 虽然JDK7已经停止了官方支持,但开源社区如OpenJDK仍在维护其分支。开发者应考虑升级到更安全、功能更丰富的JDK版本,如JDK8、JDK11或更高版本,以获取持续的安全更新和支持。 总之,Linux JDK7...
- 卸载Fedora自带的OpenJDK,因为我们将安装Oracle的JDK。使用`sudo dnf remove java-openjdk`命令来卸载。 - 安装Oracle JDK,可以从Oracle官网下载适用于Linux的JDK包,然后通过`tar`命令解压并配置环境变量。 ...
此外,根据开发需求,可能还需要配置IDE(如IntelliJ IDEA或Eclipse)的Java版本,以及构建工具(如Maven或Gradle)的Java编译目标版本。 总的来说,无论你是Windows还是Linux用户,这个压缩包都提供了便捷的JDK11...
3. **使用 AdoptOpenJDK 或 Azul Zulu**:这两个项目提供预编译的OpenJDK版本,可以直接下载对应Linux系统的tar.gz文件,解压后进行安装,步骤与手动安装类似。 安装完成后,可以通过`java -version`和`javac -...