[MDEV-27491] MariaDB isn't supported on MacOS with a M1 chip Created: 2022-01-13  Updated: 2022-01-15  Resolved: 2022-01-15

Status: Closed
Project: MariaDB Server
Component/s: Compiling, Configuration, Server
Affects Version/s: None
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Alison Qiu Assignee: Marko Mäkelä
Resolution: Not a Bug Votes: 0
Labels: Compatibility, Launchpad
Environment:

MacOS with M1 or ARM64 processor



 Description   

First, here's the error returned:

mariadb_1     | runtime: failed to create new OS thread (have 2 already; errno=22)
mariadb_1     | fatal error: newosproc
mariadb_1     | 
mariadb_1     | runtime stack:
mariadb_1     | runtime.throw(0x4cb21f, 0x9)
mariadb_1     |     /usr/local/go/src/runtime/panic.go:566 +0x95
mariadb_1     | runtime.newosproc(0xc42002a000, 0xc420039fc0)
mariadb_1     |     /usr/local/go/src/runtime/os_linux.go:160 +0x194
mariadb_1     | runtime.newm(0x4d6db8, 0x0)
mariadb_1     |     /usr/local/go/src/runtime/proc.go:1572 +0x132
mariadb_1     | runtime.main.func1()
mariadb_1     |     /usr/local/go/src/runtime/proc.go:126 +0x36
mariadb_1     | runtime.systemstack(0x53ae00)
mariadb_1     |     /usr/local/go/src/runtime/asm_amd64.s:298 +0x79
mariadb_1     | runtime.mstart()
mariadb_1     |     /usr/local/go/src/runtime/proc.go:1079
mariadb_1     | 
mariadb_1     | goroutine 1 [running]:
mariadb_1     | runtime.systemstack_switch()
mariadb_1     |     /usr/local/go/src/runtime/asm_amd64.s:252 fp=0xc420024768 sp=0xc420024760
mariadb_1     | runtime.main()
mariadb_1     |     /usr/local/go/src/runtime/proc.go:127 +0x6c fp=0xc4200247c0 sp=0xc420024768
mariadb_1     | runtime.goexit()
mariadb_1     |     /usr/local/go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc4200247c8 sp=0xc4200247c0
cdlidev_mariadb_1 exited with code 2

When I pulled mariadb from docker, I had to specify platform: linux/x86_64 in docker-compose-org.yml, only after was my installation successful, but MacOS is not recognizing it by forcing it to run though qemu.



 Comments   
Comment by Marko Mäkelä [ 2022-01-13 ]

The executable is for the AMD64 (a.k.a. x86-64) ISA, which is not the native ISA of the processor (ARMv8 a.k.a. Aarch64, maybe some people call it ARM64).

Support for Apple M1 at the source code level was implemented quite some time ago, in PR#1730 and PR#1743.

Generated at Thu Feb 08 09:53:19 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.