一开始笔者用的系统和软件版本都是最新的,导致编译了好几次都失败,最后找到解决的办法,现在记录一下编译及解决的方法

避免以后忘记

所用操作系统 Ubuntu17.10

所用软件及版本 make 3.8.1 gcc,g++ 4.8.0

操作步骤全是在root权限下执行

步骤一:

  首先检查这几个软件的版本,低了也不行,太高也不行,版本号请对照上面说的,我就是因为版本号太高,而失败了好几次

    make -v

    gcc -v

    g++ -v 

    版本太高的自己降级

    make 降级方法:

      百度下载 make3.8.1.tar.gz

      解压  

      tar -zxvf make3.8.1.tar.gz

      cd make3.8.1

      ./configure

      make

      make install

      export PATH=/usr/local/bin/make:$PATH

      source /etc/profile

      make -v

      按上述步骤,逐步执行

    gcc降级方法:
      apt install gcc-4.8

      update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40

      gcc -v

    g++同上,把gcc换成g++就行了

步骤二:

  然后下载Openjdk的源码  可以使用 Mercurial 拉取

    apt install Mercurial

    hg clone http://hg.openjdk.java.net/jdk8u/jdk8u

  然后进去拉取的源码的目录

    cd jdk8u

    bash ./get_source.sh

  等待执行完毕,再执行

    bash ./configure --with-debug-level=slowdebug

  执行这个的过程中,需要什么依赖,会提示你,把所有依赖装完就好了

  执行完毕后,继续执行

     make all

  然后不报错的话就编译成功了

  

  只要所有的依赖的软件的版本正确的话,报错也无非就是两种,

  第一种:

    make:*** [check_os_vesion]

    这句话的意思是 当前的Openjdk不支持当前的系统版本

    解决方法:

    在拉取的源码的根目录下执行下面的命令,如果没有vim编辑器请自行装载一个 apt install vim

      vi hotspot/make/linux/Makefile

    在里面找到下面这句话 添加上 4% 就行了,Openjdk8的话是在 228 行,其他的版本请自行查找

      SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%

    然后回到源码的根目录重新执行

      make all

  第二种:

    cc1plus: all warnings being treated as errors

    这句话的意思是把所有的警告全部当成错误处理.

    解决方法:

    也是在源码的根目录下执行

      vi hotspot/make/linux/makefile/gcc.make

    把207行的删除或者注释掉就行了,也就是下面这一句

      WARNINGS_ARE_ERRORS = -Werror

    然后回到源码的根目录重新执行

      make all

至此,编译Openjdk到此结束,有问题的可以给我留言,看到会尽快回复!

    

Ubuntu17.10下编译Openjdk8u的更多相关文章

  1. ubuntu15.10下编译安装wine1.8 rc4

    ubuntu15.10下编译安装wine1.8rc4 Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Li ...

  2. Ubuntu17.10 下配置caffe 仅CPU i386可以直接apt install caffe-cpu,但是怎么运行mnist代码我懵逼了

    Ubuntu16.04下配置caffe(仅CPU)  参考:http://blog.csdn.net/zt_1995/article/details/56283249   第二次配置caffe环境,依 ...

  3. Ubuntu 14.10 下编译Hadoop2.4.0

    在http://www.aboutyun.com/thread-8130-1-1.html 这里看到到,安装过程遇到了上面说的问题,所以将此文转载过来,以备不时之需,感谢此作者. 问题导读: 1.如果 ...

  4. Ubuntu17.10下启动Rancher

    1.安装Docker: 获取最新的docker安装包 wget -qO- https://get.docker.com/ | sh 2.启动docker后台服务: service docker sta ...

  5. ubuntu12.10下OpenFoam的编译

    最近在ubuntu12.10下编译OpenFoam,遇到一些问题,小记一下. 首先到官网下载源码包(我这里下载的是OpenFOAM-2.3.0.tgz,ThirdParty-2.3.0.tgz). 1 ...

  6. Solaris 10下Qt编译Oracle 10g驱动

    上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...

  7. 【转】ubuntu 11.10(32位系统)下编译android源码

    原文网址:http://www.cnblogs.com/dwayne/archive/2011/11/16/2251734.html 本文介绍在ubuntu 11.10系统下编译android 2.3 ...

  8. Ubuntu 11.10下GRUB 2 1.99版编译安装笔记

    Ubuntu 11.10下GRUB 2 1.99版编译安装笔记 以下的安装笔记,都是QLi自己学习grub2 时,所整理的,还是新手,有错误的话,请大家帮忙就别提出来了. 最新版grub V1.99官 ...

  9. Windows 10 x64 下编译 Hadoop 源码

    Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...

随机推荐

  1. 带你玩转Visual Studio——带你高效开发

    VassistX的简单介绍与下载安装 简单介绍 VassistX的全称是Visual Assist X,是whole tomato开发的一个非常好用的插件,可用于VC6.0及Visual Studio ...

  2. 【spring】SpringBoot之Servlet、Filter、Listener配置

    转载自 http://blog.csdn.net/king_is_everyone/article/details/53116744 1.介绍 通过之前的文章来看,SpringBoot涵盖了很多配置, ...

  3. centos6安装mysql5.7

    RPM包安装与卸载mysql 建议:装完mysql后立刻创建一个密码,不然下次登录的时候会有问题.原因是mysql 5.7会自动创建一个临时密码,过期失效,可以到grep "password ...

  4. HTML中特殊字符

    HTML中的字符详解 特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 ! ! " " " # # $ $ % % & & & ' ...

  5. Shell基本知识

    Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以使用Shell来启动.挂起.停止甚至编写一些程序. Shell还是一个功 ...

  6. [原创]markdown语法学习(commonmark)

    CommonMark是markdown的解析器,以下是部分学习链接: commonmark规范 https://spec.commonmark.org/ commonmark帮助 https://co ...

  7. 达人篇:3.1.3)FAI 首件检验

    本章目的:了解FAI. 1)定义: FAI: First Article Inspection Report . 汉语译作:首件全尺寸检验报告. 2)目的 制作FAI报告是为了检查成型后的产品尺寸是否 ...

  8. Linux下如何将文件下载到指定目录

    一.问题描述 当我在搭服务器的时候,发现由于下载的东西太多,所以需要将一些安装包下载到指定的目录下. 二.解决办法 wget -P /usr/test http://download.redis.io ...

  9. 创建djangoapp

    1.python3 manage.py startapp goods 2.startapp users 3.启动django服务器 # make new migrationspython3 manag ...

  10. LoadRunner性能测试结果分析(转载)

    性能测试的需求指标:本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU使用率.内存使用率分别不超过75 ...