MariaDB4J 可以在 M1 Mac 上运行吗?

问题描述 投票:0回答:2

我正在尝试让 MariaDB4J 在我的新 M1 MacBook Pro 上运行,但效果不太好。

我正在运行 [电子邮件受保护] 和 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 上解决这个问题。感谢指点。

java mariadb apple-m1 mariadb4j
2个回答
4
投票

我是 MariaDB4j 的作者,并且可以确认目前这是不可能的/不会“正常工作”。原因是 MariaDB4j 所做的只是将特定于平台的 MariaDB 二进制文件打包到 JAR 中,然后本地

exec
utes
mysqld
。没有人将 M1 的 MariaDB 二进制文件贡献给 MariaDB4j...但是非常欢迎对该项目的贡献! ;-) https://github.com/MariaDB4j/MariaDB4j/issues/497 跟踪此 FR。


1
投票

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

步骤:

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

  2. 从源代码构建具有 ARM-64 支持的 MariaDB:

    arch -arm64 brew install [email protected] --build-from-source

  3. 转到文件夹

    /opt/homebrew/Cellar/[email protected]/10.2.41
    并将所有必需的二进制文件从
    bin
    script
    子文件夹复制到
    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
    。这会将 Mac x86 二进制文件的 Maven 依赖项替换为包含 ARM-64 二进制文件的依赖项。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.