< Previous article Next article >
HOWTO: Installing KMComp Command Line Compiler on MacOS Catalina
KMComp is the command line compiler included in Keyman Developer through version 16.0. It is a windows application that can run with wine on MacOS and Linux.
In Keyman Developer 17.0+, the command line compiler is kmc
and it runs under Node.js, so these instructions are not relevant.
Installing wine
If you do not have wine
already installed, install wine
using Homebrew:
$ brew install --cask xquartz
$ brew install --cask wine-stable
See:
macOS additional requirements
macOS also requires jq.
$ brew install jq
Installing KMComp
Refer to the KMComp Command Line Compiler documentation for information on how to use KMComp.
MacOS Catalina only supports 64-bit applications, so it is neceesary to use the 64-bit version of kmcomp
. If you install wine
via homebrew, both a 32-bit and 64-bit version of wine
is available, but the 32-bit version is only compatible with pre-Catalina versions of MacOS.
Download KMComp and move kmcomp.x64.exe
and kmcmpdll.x64.dll
into ~/bin/keyman/
.
Since kmcomp.x64.exe
is not native MacOS applications and were not installed from the Appstore, it will be necessary to grant kmcomp.x64.exe
execution permissions.
Open the General tab in Security & Privacy in System Preferences.
You will need to click on the lock symbol in the panel to make changes to settings.
Run the command:
$ wine64 ~/bin/keyman/kmcomp.x64.exe
This will generate an alert dialog indicating the application cannot be opened because the developer cannot be verified. Click Cancel, and go to the Security & Privacy panel. A message will now be visible on the General tab: "kmcomp.x64.exe" was blocked from use because it is not from an identified developer. Click on the Allow Anyway button next to the warning message in the panel.
You may also need to authorise kmcmpdll.x64.dll
.
In ~/.zshrc
define an alias:
alias kmcomp="wine64 ~/bin/keyman/kmcomp.x64.exe -w"
Reload .zshrc
in current terminal session:
$ source ~/.zshrc