我试着让MariaDB 4J在我的新M1 MacBook Pro上工作,但我做得不太好。
我正在运行libssl@1.1和mariadb 10.6.4的Arm版本,这两个版本都安装了Homebrew。
首先,我遇到了libssl找不到libssl的问题,它必须有1.0,所以我安装了从1.0路径的符号链接,库期望到homebrew 1.1目标。根据mariadb GitHub页面上的各种问题线程,这应该工作。
因此,它确实导致libssl被发现,但现在我在日志中得到另一个问题:
“理由:试过了:“/usr/local/opt/openssl/lib/libssl.1.0.0.dylib”(机器运行文件,但体系结构不兼容(有“arm 64”,需要“x86_64”))”
所以,我猜/mariadb 4j期待x86版本的libssl,但我有arm?我不知道如何解决这个问题,所以希望有人得到这个在M1上工作。指针感谢。
2条答案
按热度按时间bfnvny8b1#
我是MariaDB 4j的作者,我可以确认目前这是不可能的/不会“只是工作”。原因是MariaDB 4j所做的只是将特定于平台的MariaDB二进制文件打包到JAR中,然后在本地
exec
中使用mysqld
。没有人将M1的MariaDB二进制文件贡献给MariaDB 4j......但是非常欢迎对该项目的贡献!- )https://github.com/vorburger/MariaDB4j/issues/497跟踪此FR。wlwcrazw2#
如果有人感兴趣的话,我可以从源代码构建最新的MariaDB 4j,支持苹果硅(M1)处理器。
操作步骤:
1.克隆MariaDB 4j GitHub存储库并切换到master分支。
1.使用ARM-64支持从源代码构建MariaDB:
arch -arm64 brew install mariadb@10.2 --build-from-source
1.转到文件夹
/opt/homebrew/Cellar/mariadb@10.2/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
。1.在终端中,转到
MariaDB4j/DBs/mariaDB4j-db-mac64-10.2.11
并执行mvn install
。这将用包含ARM-64二进制文件的二进制文件替换Mac x86二进制文件的maven依赖项。就是这样,现在您的测试将在M1中运行:)
注意:如果您的项目没有使用最新的MariaDB 4j版本,那么首先切换到与您的MariaDB 4j依赖版本匹配的标记。