Не удалось собрать открытый jdk 8 из исходного кода, Ubuntu 18.04, 64-битная версия

Я попытался перейти по этой ссылке, чтобы создать свой собственный JDK:

http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html#introduction

Резюмируя шаги, как:

На последнем шаге он показал ошибку, например:

*** This OS is not supported: Linux compitition2 4.15.0-32-generiC#35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
/home/jon/Downloads/OpenJDK/hotspot/make/linux/Makefile:234: recipe for target 'check_os_version' failed
make[5]: *** [check_os_version] Error 1
/home/jon/Downloads/OpenJDK/hotspot/make/linux/Makefile:255: recipe for target 'linux_amd64_compiler2/debug' failed
make[4]: *** [linux_amd64_compiler2/debug] Error 2
Makefile:216: recipe for target 'generic_build2' failed
make[3]: *** [generic_build2] Error 2
make[2]: *** [product] Error 2
Makefile:167: recipe for target 'product' failed
make[1]: *** [/home/jon/Downloads/OpenJDK/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp] Error 2
HotspotWrapper.gmk:44: recipe for target '/home/jon/Downloads/OpenJDK/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp' failed
/home/jon/Downloads/OpenJDK//make/Main.gmk:108: recipe for target 'hotspot-only' failed
make: *** [hotspot-only] Error 2

моя экспериментальная машина - Ubuntu 18.04, 64-битная.

кот /etc/*-релиз

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION = "Ubuntu 18.04.1 LTS"
NAME = "Ubuntu"
VERSION = "18.04.1 LTS (Bionic Beaver)"

уанме -а

Linux compitition2 4.15.0-32-generiC#35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
851
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно Makefile ядро ​​4.X не поддерживается. Проверка сравнивает uname -r с шаблонами версий 2.4% 2.5% 2.6% 3%:

SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
OS_VERSION := $(shell uname -r)
EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))

Вы можете попробовать выполнить сборку с опцией DISABLE_HOTSPOT_OS_VERSION_CHECK и посмотреть, что произойдет, но переход на версию ядра 3.X безопаснее. Если вы хотите собрать старый JDK 8, возможно, раскрутите виртуальную машину с каким-нибудь старым дистрибутивом, например. Fedora 9 с gcc 4.3.0 в соответствии с поддерживаемыми платформами сборки.

Спасибо@Карол. Я установил переменную env, теперь эта ошибка исчезла. Однако я столкнулся с другой проблемой, связанной с нарушением С++ 11. Я опубликую это в отдельной теме - если это не сработает, я рассмотрю возможность понижения версии ядра или использования старого дистрибутива Linux.

J.E.Y 23.01.2019 20:37

Другие вопросы по теме