miércoles, marzo 25, 2020

Windows + WLS + GraalVM

Del estilo al post anterior, tienes que trabajar con Windows, bueno, es lo que tienen las empresas grandes, pero afortunadamente hay posibilidades "ligeras" para ciertas cosas: WLS.

En esta ocasion, vamos a ver como podemos compilar con GraalVM en windows gracias a WLS.

Lo primero, recordar que la mejor manera para gestionar las distintas versiones SDKMAN y una manera de instalar GraalVM en WLS
sdk install java 20.0.0.r11-grl
Tras haber instalado java (tambien con skdman: sdk install java)

Si quieres usar tambien sdkman para instalar GraalVM-EE aqui cuentan como.

Ahora recordemos, parece que para tener disponible "native-image" hay que descargarlo usando gu, aqui cuentan como.
gu install native-image
Notar que si por ejemplo estas con un ejemplo de Quarkus, y descargas native-image de alguna otra forma y termina fuera del PATH, pues aqui cuentan como indicarle donde quedo.

Ahora, tienes fallos de creacion en la imagen nativa del estilo a estos, toca instalar glibc-devel y zlib-devel como cuentan aqui.

Esto es primero: apt-get install build-essential
y luego puede que te olvidaras esto: apt-get install zlib1g-dev

martes, marzo 24, 2020

Windows + WLS + Golang + Delve

¿Tienes que trabajar con una maquina windows, pero echas de menos Linux?

Pues recuerda que tiene WLS. Bueno, si.. hay otras virtualizaciones mas comodas, pero bueno, este post va de esto.

¿Desarrollas con Visual Code? Pues tienes este plugin para integrarlo con WSL.

¿Cual es el problema? Que si estas desarrollando con GO, hay una limitacion bastante importante, no puedes depurar (ejecutar) desde el boton del IDE.

Basicamente:
Delve is supported on linux and windows not on the linux-windows chimera. I'm not even sure ptrace works in that environment. AFAIK even go isn't officially supported there yet (or possibly ever): golang/go#16628, golang/go#17365

Pero WSL 2 al rescate.

Asi que en este post nos cuentan como activar la depuracion, que basicamente es activar nuestra distro como WSL 2, y ya, ya funciona dlv en WSL (2).

A destacar, como configurar las variables de entorno de GO en WSL (o donde sea)
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
Por ultimo, un articulo similar pero WSL1. Y tambien como depurar go en visual code.