mksqlite compilation for macOS
RSKtools relies on mksqlite for SQLite support in MATLAB.
Remove quarantine
After v3.4.0, RSKtools starts shipping MEX files for all four platforms: Windows (32- and 64- bit), Linux (64-bit) and macOS (64-bit). However, macOS users might encounter the error message saying "cannot be opened because the developer cannot be verified". This is because the file is quarantined for macOS security tools to check before it's first used. To remove the quarantine, please refer to this page or follow the steps below.
Check to see if the file is quarantined by running the following command in the terminal:
CODExattr /path/to/file
Remove this attribute by running the following command in the terminal:
CODEsudo xattr -r -d com.apple.quarantine /path/to/file
Compiling and modifications
Previously, mksqlite shipped MEX files for Windows (32- and 64-bit) and Linux (64-bit), but not for macOS. In case users are interested in compiling the macOS binaries for mksqlite, below please find the instructions for reference.
- Download the newest source release.
You can get it from the mksqlite SourceForge project page: https://sourceforge.net/projects/mksqlite/ Click the “Files” tab, then pick the newest-src.zip
file. - Unpack the source release, and apply modifications to the source as necessary. See the section below.
- Launch MATLAB.
- If
mex -setup
reports an error, replace the files in/Applications/MATLAB_R2015b.app/bin/maci64/mexopts
with the contents of macOS mexopts.tar.gz- This is basically the same fix as described at https://www.mathworks.com/matlabcentral/answers/246507, but updated to be nonspecific with regards to the macOS SDK.
- Change the current folder to wherever you unpacked the source release.
- Run
buildit
. It should run successfully and generatemksqlite.mexmaci64
in the current folder.
Sometimes modifications to the source are necessary before they will work or even compile.
v2.5.0
buildit.m:131
:if 0
→if 1