System dependencies
Self SDK depends on some native libraries to manage encryption libself_olm and libself_omemo. Below you’ll find the instructions to get them working on your system.
Debian/Ubuntu
$ curl -O https://download.joinself.com/olm/libself-olm_0.1.17_amd64.deb
$ curl -O https://download.joinself.com/omemo/libself-omemo_0.1.2_amd64.deb
$ apt install libsodium-dev
$ apt install ./libself-olm_0.1.17_amd64.deb ./libself-omemo_0.1.2_amd64.deb
Redhat/Centos
$ rpm -Uvh https://download.joinself.com/olm/libself-olm-0.1.14-1.x86_64.rpm
$ rpm -Uvh https://download.joinself.com/omemo/libself-omemo-0.1.2-1.x86_64.rpm
Mac (x86_64)
$ brew tap joinself/crypto
$ brew install libself-olm libself-omemo
Mac (m1/arm64)
Brew on M1 macs currently lacks environment variables needed for the sdk to find the olm
and omemo
libraries, so you will need to add some additional configuration to your system:
In your ~/.zshrc
, add:
export C_INCLUDE_PATH=/opt/homebrew/include/
export LIBRARY_PATH=$LIBRARY_PATH:/opt/homebrew/lib
You should then be able to run:
$ source ~/.zshrc
$ brew tap joinself/crypto
$ brew install --build-from-source libself-olm libself-omemo
Note, you may also need to create /usr/local/lib
if it does not exist:
$ sudo mkdir /usr/local/lib