Acknowledged

SDK Manager on Linux crashes when downloading SDKs and they fail when compiling an app.

I am running an arch linux system and have downloaded the SDK manager.

The manager starts fine but when I download an SDK it crashes with the error message:

Segmentation fault (core dumped)

When I open the manager again it says the SDK is installed and I can set it as my current SDK, but when I try to compile an app with it, it throws up a bunch of errors that weren't coming up before such as:

Cannot resolve type 'Boolean'

This happens for any SDK newer than 4.0

If I download SDK version 4.0.2 it still gives the seg fault but the SDK works to compile an app.

Parents Comment Children
  • I noticed that and I did add

    import Toybox.Lang;

    but then it would start giving me errors about a bunch of other things that had worked before, which is why I assumed it was maybe because the manager hadn't downloaded the full SDK or something like that.

    But all of a sudden, I tried it again just now and everything compiles fine and runs when I copy it to my Garmin watch. However now the emulators have stopped working!!!

    I get the error:

    Unable to connect to simulator.

    I've seen lots of other people have had issues like this, but this is a first for me. The emulators have always worked right from the start. I tried removing everything Garmin related on my PC and tried installing from scratch to try and fix the previous issue, but now I can't get any emulators to run.

  • Your 2nd issue sounds like it's related to typechecking.  Starting with the 4.1.6 SDK, that's on by default.

    Actually, the specific error message "Cannot resolve type 'Boolean'" cannot be resolved by turning off typechecking. It seems to be related to a change that was made in SDK 4.2.1 regarding how something like Boolean (as opposed to Lang.Boolean) is resolved. It seems that previously you could omit the "Lang." prefix, but now you can only do so if you have an import Toybox.Lang statement at the top of the source file.)

    It can be resolved by changing

    using Toybox.Lang;

    to

    import Toybox.Lang;

    Of course OP may be encountering other error messages and warnings that can be resolved by turning off type checking..

    (CTRL-SHIFT-P / Command Palette > User Settings > Monkey C > Type Check Level)