add sl_make_error_fmt
sl_realpath now returns a malloc'd buffer