GetGameList() actually uses engine_path(), which has the path-hack already implemented, it's just "if (false)"'d out because I didn't know how to detect whether the engine is bundled or not without having to resort to writing ObjC code. Going three steps uplevel breaks everything in anything other than a bundled OSX app
I assume __apple__ is not defined for a unix-style app? If that's the case, that would work perfectly.
Google indicates abort trap 6 is a segfault, so I'm assuming some initialization is failing for whatever reason and the engine does a null pointer access. Could you maybe run spherun under the Xcode debugger and then attach SSJ from the command line to see where it crashes?
That IS useful. Duktape looks to be throwing a "no debugger support" error when miniSphere attempts to attach the debugger. This indicates you might have compiled spherun without defining MINISPHERE_SPHERUN which causes the other options not to be set properly for a debugger-enabled build.