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.

  • Former Member
    Former Member in reply to Brandon.ConnectIQ

    When will "soon" be? As it stands, the SDK Manager and therefore the latest SDK is completely unusable due to this.

    I've just tried on a fresh install of Ubuntu 20.04 LTS, and it first it complains about missing libcurl.so. After installing curl, on the first run it segfaults right after saying there's a list of new devices and new SDK 6.2.1 for download. After re-running and clicking the download button for SDK 6.2.1, it waits for a bit and then segfaults again.

    Is there a workaround? Maybe we could download the SDK from somewhere directly rather than relying on the broken SDK Manager?

  • I can confirm the SDK Manager issue is a known issue that affects both Windows and Linux—we should have a fix out for it soon.

    The 'Unable to connect to simulator' error is something that pops up now and then, and we're still working on a solution. I encounter it occasionally on Mac if I try running an app without the simulator already running.

    One other thing to mention: we only officially support Ubuntu 20.04 LTS and cannot guarantee that our SDK will work properly when run on other distros.

  • 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)

  • See this thread about the SDKManager.  There's an issue on Widows, and it sounds like Linux too

    https://forums.garmin.com/developer/connect-iq/f/discussion/337925/sdk-6-2-0-crash-and-older-versions

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