Ubuntu WSL compilado OpenJDK12

Un montaje de WSL Ubuntu

1.Windows proporcionado WSL e instalar Ubuntu WSL

"Panel de control" -> "Programas" -> "Activar o desactivar las características de Windows" en la comprobación de la siguiente manera, de lo contrario no se pudo abrir después de la instalación

 En la tienda de Windows y descargar e instalar Ubuntu búsqueda

2. Reemplazar fuente doméstica

El origen de la actualización de Ubuntu para cambiar el país tiene una mejor experiencia, me cambio a fuentes de la nube Ali, por supuesto, también puede cambiar otras fuentes:

El directorio se actualiza fuente etc / apt / sources.list, crea una fuente de respaldo

sudo  cp sources.list sources.list.bakcup

A continuación, añadir o sustituir en su parte delantera, que dice lo siguiente:

deb http: // mirrors.aliyun.com/ubuntu/ biónico principal universo restringido multiverso 
deb-src http: // mirrors.aliyun.com/ubuntu/ biónico principal universo restringido multiverso 

deb http: // mirrors.aliyun.com/ubuntu / biónica seguridad principal universo restringido multiverso 
deb-src http: // mirrors.aliyun.com/ubuntu/ biónica seguridad principal universo restringido multiverso 

deb http: // mirrors.aliyun.com/ubuntu/ biónicos actualizaciones principal multiverso universo restringido 
deb-src http: // mirrors.aliyun.com/ubuntu/ biónicos actualizaciones principal universo restringido multiverso 

deb http: //mirrors.aliyun.com/ubuntu/ principal universo restringido-biónico propuesto multiverso 
deb-src http: // mirrors.aliyun.com/ubuntu/-biónico propuesto principal universo restringido multiverso 

deb http: // mirrors.aliyun.com/ubuntu/ biónicos-backports principal universo restringido multiverso 
deb-src http: // mirrors.aliyun.com/ubuntu/ biónicos-backports principal multiverso universo restringido

 

Dos, OpenJDK12 obtener código fuente

OpenJDK12 Dirección de origen: http://hg.openjdk.java.net/jdk/jdk12/file/06222165c35f

Baidu disco de red  de código de extracción: 0h2s 

En tercer lugar, la construcción del entorno de construcción

Después de descargar el código fuente de la descompresión, tener la documentación pertinente en su directorio doc,

Instalación de mando GCC

sudo apt-get instalar build-essential

dependencias de bibliotecas de terceros

herramienta nombre de la biblioteca Comandos de instalación
FreeType El Proyecto Tipo libre sudo apt-get install libfreetype6-dev
TAZAS Common UNIX Printing System sudo apt-get install libcups2-dev
X11 X Window System  sudo apt-get install libx11-dev libXext-dev libxrender- dev libxrandr-dev libXtst-dev libXt-dev
ALSA Advanced Linux Sound Architecture sudo apt-get install libasound2-dev
libffi Biblioteca interfaz portátil Función de Asuntos Exteriores sudo apt-get install libffi-dev
autoconf Extensible paquete de macros M4 sudo apt-get install autoconf

OpenJDK11 instalación

sudo apt-get instalar openjdk- 11 -jdk

instalar postal

sudo apt-get instalar  postal

Si no zip instalar en tiempo de compilación de comprobación puede informar del error siguiente

configure: error: no se pudo hallazgo herramienta necesaria para ZIPEXE 
configurar la salida con el código de resultado 1

En cuarto lugar, la compilación

Hay muchos parámetros pueden ser para su uso, tales como el establecimiento de una versión compilada FastDebug de tiempo de compilación, sólo el modo de máquina virtual de HotSpot servidor

fiesta de configuración --enable-debug with-JVM-variantes = server

Si usted ha construido entorno será similar al siguiente contenido:

================================================== == 
Una nueva configuración se ha creado con éxito en 
/ home / flytree / jdk12 / build / Linux-x86_64-servidor- fastdebug 
mediante Configurar argumentos ' --enable-debug with-JVM-variantes = server ' . 

Resumen de configuración:
 * Nivel de depuración: fastdebug
 * nivel de depuración HS: fastdebug
 * JVM variantes: el servidor
 * JVM características: Servidor: ' AOT cds cmsgc compiler1 compiler2 epsilongc g1gc Graal jfr JNI-check gestión jvmci JVMTI NMT servicios serialgc parallelgc shenandoahgc vm-estructuras ZGC '
* OpenJDK objetivo: Sistema operativo: Linux, la arquitectura de la CPU: 86, longitud de la dirección: 64 
* Versión de cuerdas : 12 -interna + 0 -adhoc.flytree.jdk12 ( 12 - interna) 

Resumen Herramientas:
 * Bota de JDK: Versión OpenJDK " 11.0.6 "  2,020 - 01 - 14 OpenJDK Runtime Environment (build 11.0 . 6 + 10 -post-Ubuntu-1ubuntu118. 04,1 ) OpenJDK 64 -Bit servidor VM (build 11.0 . 6 + 10 -post-Ubuntu-1ubuntu118.04,1 , modo mixto, el intercambio) (en / usr / lib / jvm / java- 11 -openjdk- amd64)
 * Toolchain:       gcc (GNU Compiler Collection)
 * C Compiler: Version 7.5 . 0 (en / usr / bin / gcc )
 * C ++ Compiler: Version 7.5 . 0 (en / usr / bin / g ++ ) 

resumen de rendimiento de construcción:
 * Núcleos de usar:    4 
límite de memoria *:    12154 MB

Y generará un directorio

 

A continuación, ejecute el siguiente comando para compilar

make imágenes

El compilado JDK resultante

Parámetros del documento:

Argumentos de configure para coser la construcción

  • --enable-debug - Ajuste el nivel de depuración a  fastdebug (esta es una forma abreviada de  --with-debug-level=fastdebug)
  • --with-debug-level=<level> - Ajuste el nivel de depuración, que puede ser  releasefastdebugslowdebug o  optimized. Por defecto es  releaseoptimized es la variante de  release con código adicional de depuración hotspot.
  • --with-native-debug-symbols=<method> - Especificar si y cómo nativa símbolos de depuración debe ser construido. Los métodos disponibles son  noneinternalexternalzipped. Comportamiento predeterminado depende de la plataforma. Ver  Símbolos de depuración nativo  para más detalles.
  • --with-version-string=<string> - Especificar la cadena de versión esta acumulación se identifica con.
  • --with-version-<part>=<value> - Un grupo de opciones, donde  <part> puede ser cualquiera de  preoptbuildmajorminorsecurity o  patch. Utilice estas opciones para modificar sólo la parte correspondiente de la cadena de versión de la predeterminada o el valor proporcionado por  --with-version-string.
  • --with-jvm-variants=<variant>[,<variant>...] - Construir la variante (o variantes) de hotspot. Variantes válidos son:  serverclientminimalcorezerocustom. Tenga en cuenta que no son posibles todas las variantes de combinar en una sola estructura.
  • --with-jvm-features=<feature>[,<feature>...] - Uso de la JVM especificada cuenta en la construcción de hotspot. La lista de características se habilitará en la parte superior de la lista predeterminada. Para la  custom variante de JVM, esta lista está vacía por defecto. Una lista completa de las características de JVM disponibles se puede encontrar utilizando  bash configure --help.
  • --with-target-bits=<bits> - Crear un sistema binario de destino adecuado para correr sobre una  <bits> plataforma. Utilice esta opción para crear una salida de 32 bits en una plataforma de construcción de 64 bits, en lugar de hacer una compilación cruzada completa. (Esto se conoce como una  reducida  acumulación.)

En Linux, BSD y AIX, es posible anular en Java por defecto para búsquedas en tiempo de ejecución bibliotecas / JNI. Esto puede ser útil en situaciones donde hay un directorio especial común de las bibliotecas JNI del sistema. Este ajuste puede a su vez ser sobreescrito en tiempo de ejecución mediante el establecimiento de la  java.library.path propiedad.

  • --with-jni-libpath=<path> - Uso de la ruta especificada por defecto en la búsqueda de bibliotecas de tiempo de ejecución.

Argumentos de configure para Native Compilación

  • --with-devkit=<path> - Use este SDK de los compiladores, herramientas y recursos
  • --with-sysroot=<path> - Utilice este directorio como sysroot
  • --with-extra-path=<path>[;<path>] - Introduce estos directorios a la ruta predeterminada en la búsqueda de todo tipo de archivos binarios
  • --with-toolchain-path=<path>[;<path>] - Introduce estos directorios en la búsqueda de los binarios de las herramientas principales (compiladores, etc.)
  • --with-extra-cflags=<flags> - Anexar estas banderas al compilar archivos JDK C
  • --with-extra-cxxflags=<flags> - Anexar estas banderas al compilar archivos JDK C ++
  • --with-extra-ldflags=<flags> - Anexar estas banderas al vincular las bibliotecas JDK

Argumentos de configure para dependencias externas

  • --with-boot-jdk=<path> - Establecer la ruta de acceso al  arranque JDK
  • --with-freetype=<path> - Fije la ruta  FreeType
  • --with-cups=<path> - Fije la ruta  CUPS
  • --with-x=<path> - Fije la ruta  X11
  • --with-alsa=<path> - Fije la ruta  ALSA
  • --with-libffi=<path> - Fije la ruta  libffi
  • --with-jtreg=<path> - Fije la ruta JTReg. Ver  pruebas de circulación

Ciertas bibliotecas de terceros utilizados por el JDK (libjpeg, giflib, libpng, LCMS y zlib) están incluidas en el repositorio de JDK. El comportamiento predeterminado de la acumulación de JDK es utilizar esta versión de estas bibliotecas, sino que podría ser reemplazado por una versión externa. Para ello, especifique  system como  <source> opción en estos argumentos. (El valor predeterminado es  bundled).

  • --with-libjpeg=<source> - Uso de la fuente específica para los libjpeg
  • --with-giflib=<source> - Uso de la fuente específica para los giflib
  • --with-libpng=<source> - Uso de la fuente específica para los libpng
  • --with-lcms=<source> - Uso de la fuente específica para los lcms
  • --with-zlib=<source> - Uso de la fuente específica para zlib

Referencia: "la comprensión en profundidad de la máquina virtual de Java JVM características y mejores prácticas avanzadas" (tercera edición)

Dos, OpenJDK12 obtener código fuente
[Er, OpenJDK12 yuánmǎ huòqǔ]
Dos, OpenJDK12 obtener código fuente

Supongo que te gusta

Origin www.cnblogs.com/flytree/p/12657504.html
Recomendado
Clasificación