是否可以让 MariaDB4J 在 M1 Mac 上工作?

Is it possible to get MariaDB4J to work on an M1 Mac?

我正在尝试让 MariaDB4J 在我的新 M1 MacBook Pro 上运行,但我做得不是很好。

我是 运行 libssl@1.1 和 mariadb 10.6.4 的 Arm 版本,都安装了 Homebrew。

首先我遇到了 libssl 的问题,找不到 libssl,它必须有 1.0,所以我安装了从库期望的 1.0 路径到自制软件 1.1 目标的符号链接。根据 mariadb GitHub 页面上的各种问题线程,这应该有效。

因此,确实导致找到了 libssl,但现在我在日志中发现了另一个问题:

”原因:已尝试:'/usr/local/opt/openssl/lib/libssl.1.0.0.dylib'(mach-o 文件,但它是一个不兼容的架构(有 'arm64',需要 'x86_64' ))"

所以,我想 something/mariadb4j 需要 x86 版本的 libssl 但我有 arm?我不确定如何解决这个问题,所以希望有人能在 M1 上使用它。感谢指点。

我是 MariaDB4j 的作者,可以确认目前这是不可能的/不会“正常工作”。原因是 MariaDB4j 所做的只是简单地将平台特定的 MariaDB 二进制文件打包到 JAR 中,然后本地 executes mysqld。并且没有人将 M1 的 MariaDB 二进制文件贡献给 MariaDB4j ......但是非常欢迎对该项目做出贡献! ;-) https://github.com/vorburger/MariaDB4j/issues/497 跟踪此 FR。

如果有人感兴趣,我能够从支持 Apple Silicon (M1) 处理器的源代码构建最新的 MariaDB4j。

步骤:

  1. 克隆 MariaDB4j GitHub 存储库并切换到主分支。

  2. 从支持 ARM-64 的源代码构建 MariaDB: arch -arm64 brew install mariadb@10.2 --build-from-source

  3. 转到文件夹 /opt/homebrew/Cellar/mariadb@10.2/10.2.41 并将所有必需的二进制文件从 binscript 子文件夹复制到 MariaDB4j/DBs/mariaDB4j-db-mac64-10.2.11/src/main/resources/ch/vorburger/mariadb4j/mariadb-10.2.11/osx/bin.

  4. 在终端中转到 MariaDB4j/DBs/mariaDB4j-db-mac64-10.2.11 并执行 mvn install。这将用包含 ARM-64 二进制文件的 Mac x86 二进制文件替换 Maven 依赖项。

就是这样,现在您的测试将在您的 M1 中 运行:)

注意:如果您的项目没有使用最新的 MariaDB4j 版本,那么首先切换到与您的 MariaDB4j 依赖项版本相匹配的标签。