Solace Python API on Mac M1 ?

Hi,

I tried to install Solace Python API on Mac M1 and run some scripts with it.

pip install solace-pubsubplus

⇒ Successful

Running some script:


Unable to load core library from [/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib]. Exception: dlopen(/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib, 0x0006): tried: '/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib' (no such file), '/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
Traceback (most recent call last):
File "/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/core/_solace_session.py", line 159, in __load_core_library
return cdll.LoadLibrary(shared_lib_path_default)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ctypes/ **init** .py", line 454, in LoadLibrary
return self._dlltype(name)
^^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ctypes/ **init** .py", line 376, in  **init** 
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: dlopen(/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib, 0x0006): tried: '/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib' (no such file), '/Users/uherbst/Library/Python/3.11/lib/python/site-packages/solace/messaging/lib/macosx-x86_64/libsolclient.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))

Is this expected to work ? Couldn’t find any hint in Solace docs.

I tried the same action in an Ubuntu on Mac M1 - same result.

Thank you

Uli

Hi Uli,

Support for ARM based platforms (Mac M1 running MacOS and Linux) is actively in development and we expect to release packages in 2024.

Ragnar

Is there a timeline for when the arm packages will be released? I’d like to avoid using x86_64 if I can.

Thanks.

The API will be available at PyPI by March 15, 2024.

Thank you for the update.

This will by applied for m2 and m3 also?

Hi @Misk ,

Yes! The March release should work with all Mac M series chips. An official announcement post should come next month upon release :slight_smile:

Is there an update on this?

I checked the blog posts and searched the forum but don’t see anything new about the ARM release.

Thank you.

Hi @jrt ,

We have had to postpone the release until April to give us some additional time to include another important feature in the next Python release. I will make a post and come back to this thread as well to notify everyone once it is available for download.

Thank you for your patience!

I am really looking forward to seeing this issue fixed. Please keep us posted @murat and @marc.dipasquale

@moradtafer @jrt @Misk

Just a friendly ping that the latest version of the Python API has been released (v. 1.7.0) with support for Mac M-series processors. It should be slowly rolling out in different places and is already available via PyPI (

)

Thanks again for all your patience!