Pdc -sdkpath doesn't understand '~'


This command fails (on linux): pdc -sdkpath ~/PlaydateSDK-1.9.3

But this command succeeds: pdc -sdkpath $HOME/PlaydateSDK-1.9.3

Similarly, export PLAYDATE_SDK_PATH=~/PlaydateSDK-1.9.3 causes pdc to fail, but export PLAYDATE_SDK_PATH=$HOME/PlaydateSDK-1.9.3 allows pdc to work bare.

The error in the first case is very misleading. I get this:

error: ./main.lua:32: No such file: CoreLibs/easing

Crucially, if CoreLibs are not imported, everything works fine. This means the error won't be encountered on a basic "hello world" compile. Many people have been tripped up by this already (search no such file corelibs in the discord servers).

Furthermore, I can't simply modify my .bashrc to use $HOME instead of ~ due to the issue encountered in this thread.


  1. Ensure that pdc can expand ~ to $HOME on Mac, Linux, and possibly Windows
  2. pdc should check that the sdkpath is correct before compiling, so that the misleading Corelibs error does not occur.