Skip to content

KDB+ Setup on M3 (Arm64)

Issue with M3 Architecture

KDB+ can run on Arm64, but it causes integration issues with other tools like KDB Developer.

Setup Steps

1. Open Terminal with Rosetta (Intel/x86_64 mode)

arch -x86_64 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal &

2. Build OpenSSL 1.1 Manually

Homebrew has disabled OpenSSL 1.1, so it needs to be built manually.

Important

Make sure the terminal is opened with Rosetta (uname -m should return x86_64), otherwise you'll encounter issues when installing KDB Developer.

3. Install OpenSSL 1.1

Download and build OpenSSL 1.1.1w:

mkdir -p ~/dev/openssl-1.1-x86
cd ~/dev/openssl-1.1-x86

curl -LO https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -xzf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w

./Configure darwin64-x86_64-cc --prefix=$HOME/openssl-1.1-x86
make -j$(sysctl -n hw.logicalcpu)
make install

Create symbolic links:

1
2
3
4
sudo mkdir -p /usr/local/opt/openssl@1.1/lib

sudo ln -sf ~/openssl-1.1-x86/lib/libssl.1.1.dylib /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib
sudo ln -sf ~/openssl-1.1-x86/lib/libcrypto.1.1.dylib /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib

Verify the installation:

file /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib
# Should output: Mach-O 64-bit dynamically linked shared library x86_64

4. Remove Quarantine from KX Developer Files

Remove quarantine attributes from all .so files in the KX Developer folder:

find /path/to/kx-developer -name "*.so" -exec xattr -d com.apple.quarantine {} +