Page tree
Skip to end of metadata
Go to start of metadata

The information on this page refers to v5.1 and newer, which added support for MacOS on ARM.

LM-X supports MacOS for both Intel-based and Apple silicon Mac computers. During LM-X SDK installation, support for ARM 64-bit architecture is verified and, if possible, LM-X tools and libraries are built as universal binaries, which contain two separate versions of the compiled code for Intel and Apple silicon Mac platforms. At runtime, the system automatically selects the correct version to run on the current platform.

Providing a Developer ID Application Certificate

Mac computers with Apple silicon require that executables and libraries built during the installation of LM-X SDK be signed with a Developer ID Application Certificate. The Developer ID Application Certificate will be used to sign the LM-X End-user Utility and LM-X License Server. You can provide a Developer ID Application Certificate in one of the following ways:

  1. Provide the Developer ID Certificate during installation.
  2. Edit the file and assign the Developer ID Certificate to the DEVELOPER_ID_CERTIFICATE variable, then recompile the LM-X SDK.
  3. Use the MacOS codesign tool. 

For example:

 codesign --sign DEVELOPER_ID_CERTIFICATE --timestamp --options runtime FILENAME,

 where DEVELOPER_ID_CERTIFICATE is your Developer ID Certificate and FILENAME is the name of the file to be signed.

Note the following:

  • For the signing to be successful, the Developer ID Certificate must be in the MacOS keychain.
  • Signing via SSH requires unlocking the keychain that contains the certificate, which can be done using the security command; for example:

security unlock-keychain keychain-name

  • If the executable is not properly signed, a "Killed: 9" error may appear when trying to run it. If you get this error, verify the signature using the codesign tool; for example:

codesign -vv ./lmx-serv

The above command should return the following message:

/lmx-serv valid on disk

/lmx-serv, satisfies its Designated Requirement

  • No labels