-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apple M1 or ARM64 support #476
Comments
No immediate plans to do this. I think this is request would be better off submitted as a formal idea for MQ: https://ibm.biz/mqideas There is some precedent for using MQ on ARM for the Raspberry Pi, but that won't directly translate into a container image. |
I've faced the same problem with M1 Mac. Our company is heavily relied on the IBM ecosystem. Therefore, we have to find other alternative MQ to run in the development environment. |
I've also faced the same problem. The only way to get around this is currently to run a virtual machine with an intel docker image or changing our mac book which is not acceptable. If IBM could just provide a pre built tar for the mq for developers I could build my own image. |
Same here. |
Question, I have the same issue where IBM MQ does not work in docker, but I can't get past the java virtual machine error that this issue: does not seem to be getting. Any ideas why? Log where error occurs:
|
Same here, any updates? |
We have this issue too. Please concider a M1 version. (we moved also from intel) This issue is really interesting for building up a local dev environment. Kind Regards :-) |
Still have this issue too |
Same here... please add the porting to amr64 arch. on your roadmap |
same here, looking forward to pull docker with arm64 architecture |
Here's a link to the formal idea (RFE) for MQ software to support ARM processors: https://integration-development.ideas.ibm.com/ideas/MESNS-I-369 Adding votes on that idea is the most effective way to signal your support for this feature, which needs to be added to the base MQ software before we can then use it containers. |
For those of you wanting to run MQ on M1, I've written a blogpost here with instructions on how to do it with Podman. It will be slower than native due to using x86_64 emulation but it's better than nothing |
I need a solution that works with Testcontainers. The emulation for AMD on M2 works without issues for all images i've come across so I don't think its the emulation that breaks but the IBM MQ believes "there are multiple instances running" and shuts down. Can this mechanism be turned off somehow?
|
Sooooooooooo ... is there any intention to support ARM any time soon? I've tried building the image for ARM myself but seems rather complicated. Isn't there somebody out there that did IBMs job for them already? Any known ARM image versions? |
BTW the problem also appears when using the S390x architecture: File docker-compose.yml: services: Result: 2023-02-28 11:17:03 2023-02-28T10:17:03.421Z CPU architecture: s390x |
Multiple instances issue is due to the following function in process.go compiled as part of the container image: mq-container/cmd/runmqserver/process.go Line 48 in 53790e1
It does a simple count of the number of times that runmqdevserver appears in the
Subsequently it thinks its detected more than 1 instance of
It seems there is some issue creating the queue manager and can be minimally reproduced as per below:
The FDC files can be obtained accordingly using
|
With emulation runmqdevserver appears multiple times in a single line of `ps` output, so we need to count the number of lines with runmqdevserver instead. Issue: ibm-messaging#476
@master131 how did you get to the |
With emulation runmqdevserver appears multiple times in a single line of `ps` output, so we need to count the number of lines with runmqdevserver instead. Issue: ibm-messaging#476
I've captured some error logs from running my patched container. AMQ119.0.FDC.txt Inside I am seeing some strange logs, but am unfamiliar if they're causing issues. Q: Should this first file descriptor point to
In #327 (comment) I see that |
Was just running the x86_64 version via docker under emulation on M1 Mac use command earlier (with a fix to the runmqserver). |
The changelog states:
|
So its working for you with some latest version? Could you please be a little more specific how we can run IBM MQ on M1? Thanks to everyone working on this! |
No, it's not - not unless you resort to workarounds that have already been documented online such as using podman or UTM: https://medium.com/@thejackyhuang/mq-dev-on-m1-with-utm-8b3c90403ef8 |
Ah ... sorry just woke up and got exited ^^ Still thanks for working on it :) |
I'm building an x86 image on my intel mac and running it emulated on my M1 mac. I've got #524 to get past the first error, but am seeing Is anyone more familiar with MQ errors to know how to work around that? I have full logs posted in #476 (comment) |
With emulation runmqdevserver appears multiple times in a single line of `ps` output, so we need to count the number of lines with runmqdevserver instead. Issue: ibm-messaging#476
During emulation the running processes can contain binary names which trip up detecting if a process is already running. Using the comm format will print the running binaries without arguments. Previous: ibm-messaging#524 Issue: ibm-messaging#476
The building.md documentation in this repo, has been updated to reflect that it's now possible to build your own container for both amd64 and arm64 (Apple Silicon) architectures. |
Works perfectly out-of-the-box. 👏
|
Awesome news guys, I am closing this issue. |
hello @master131 @pascaldekloe, how did you managed to run it on an m1 or m2 chip? could you give me a hand? thank you |
Did you read building.md as suggested by chughts @koyomi-san? |
@pascaldekloe yes, also found this instructions: |
Wanted to know if there was any intentions to make a arm64 compatible container available particularly for M1 Mac users who want to spin up an MQ instance?
At the company I work at, they've started to ship out M1 Macs to new starters and none of them have been able to successfully start/create a queue manager using the in-built amd64 emulation provided by Docker (using qemu). Previously we've been using Intel Macs which are natively running amd64 processor so there's no issues there.
Error 71 creating queue manager: AMQ8101S: IBM MQ error (893) has occurred.
See the below which is reporting the same issue:
docker/for-mac#5961
The text was updated successfully, but these errors were encountered: