Estoy tratando de hacer que MariaDB4J funcione en mi nuevo M1 MacBook Pro, y no lo estoy haciendo muy bien.
Estoy ejecutando las versiones Arm de libssl@1.1 y mariadb 10.6.4, ambas instaladas con Homebrew.
Primero tuve problemas con libssl que no encontraba libssl, tenía que tener 1.0, así que instalé enlaces simbólicos desde la ruta 1.0 que la biblioteca espera para el destino homebrew 1.1. De acuerdo con varios hilos de problemas en la página de mariadb GitHub, esto debería funcionar.
Entonces, de hecho resultó que se encontró libssl, pero ahora tengo otro problema en los registros:
"Razón: probado: '/usr/local/opt/openssl/lib/libssl.1.0.0.dylib' (archivo mach-o, pero es una arquitectura incompatible (tiene 'arm64', necesita 'x86_64'))"
Entonces, supongo que algo/mariadb4j espera la versión x86 de libssl pero tengo brazo. No estoy seguro de cómo resolver esto, así que espero que alguien haya logrado que esto funcione en M1. Se agradecen los punteros.
Soy el autor de MariaDB4j y puedo confirmar que actualmente esto no es posible/no "simplemente funcionará". La razón es que lo que hace exec
es simplemente empaquetar archivos binarios de MariaDB específicos de la plataforma en JAR, y luego ejecuta mysqld
de forma nativa. Y nadie ha contribuido con los binarios de MariaDB para M1 a MariaDB4j... ¡pero las contribuciones al proyecto son muy bienvenidas! ;-) https://github.com/vorburger/MariaDB4j/issues/497 rastrea este FR.
Si alguien está interesado, pude construir el último MariaDB4j desde la fuente con soporte para procesadores Apple Silicon (M1).
Pasos:
Clone el repositorio GitHub de MariaDB4j y cambie a la rama principal.
Compile MariaDB desde el origen con compatibilidad con ARM-64: arch -arm64 brew install mariadb@10.2 --build-from-source
Vaya a la carpeta /opt/homebrew/Cellar/mariadb@10.2/10.2.41
y copie todos los binarios requeridos de las subcarpetas bin
y script
a MariaDB4j/DBs/mariaDB4j-db-mac64-10.2.11/src/main/resources/ch/vorburger/mariadb4j/mariadb-10.2.11/osx/bin
.
En una terminal, vaya a MariaDB4j/DBs/mariaDB4j-db-mac64-10.2.11
y realice una mvn install
. Esto reemplazará la dependencia maven con los binarios Mac x86 con uno que contiene los binarios ARM-64.
Eso es todo, ahora sus pruebas se ejecutarán en su M1 :)
Nota: si su proyecto no utiliza la última versión de MariaDB4j, primero cambie a la etiqueta que coincida con su versión de dependencia de MariaDB4j.