18 Feb 2026
06:21 PM
- last edited on
23 Feb 2026
09:09 AM
by
MaciejNeumann
While debugging an error I'm having with the IBM MQ extension, I have noticed that it includes in the extension ibm_mq-3.9.5-py3-none-any.whl, the following binary files, inside the ibm_mq/pymqi directory:
As I believe I have not seen this before, was wondering (as an Extension developer) why it was done this way? Some optimization trick? Because I believe it would have been setup better as a setup.py dependency, with the corresponding .whl file in the extension. Or ist it a dependency from the other jar file?@Mike_L , can someone from you team give a hint?
Solved! Go to Solution.
18 Feb 2026 09:36 PM
It cannot be added in setup.py because it has to be built using the IBM MQ SDK local to the machine. That .pyd and .so files look for the IBM MQ SDK libraries on the machine it is built, then compiles its CPython using those libraries.
They need to be pre-built on each OS and then added manually for that reason. It only executes the one it recognizes by the OS when the extension runs.
Hope this answers your question.
Thanks,
Diego
18 Feb 2026 10:16 PM
Thanks for the explanation.
I was aware of the native dependencies, but had the idea they were distributed as whl's. That's at least what we usually see with libraries like cryptography, which are included in separate linux and windows whl's. I believe this ibm_mq is really the only extension where I have seen the binaries inside the "main" whl of the extension.
18 Feb 2026 11:50 PM
Indeed, they usually are. These ones require that combination of native MQ SDK libraries to compile, so a simple .whl won't do. That extension is also unique in many ways considering IBM made MQ very customizable in different OS and distributions and they all behave different. The extension had to accommodate for all that as well.
20 Feb 2026 07:17 AM
I have a question regarding the IBM MQ extension. We have this extension running in a Managed environment without any issues, but we recently migrated to SaaS (the configuration is identical to the Managed setup; the only new component is the ActiveGate in SaaS). Unfortunately, in SaaS we are getting these errors. The firewall on the new ActiveGate is open for the same ports as in the Managed environment.
Do you have any idea what might be causing the issue or what we should focus on?
What’s strange is that besides errors and warnings, the status also shows “OK”, but we still don’t receive any data.
Warn
Content
20 Feb 2026 09:00 AM
@jiri_stefanek your error clearly states the extension cannot connect to MQ manager. Most missing firewall clearances between AG and MQ (if you deployed a new AG for SaaS). Or a different configuration.
Featured Posts