Complete

Building CIQ 5 devices (e.g. fr955) in SDK 4.2.4 results in error claiming "SDK 5.0.0 or greater" is required - shouldn't this be SDK 7.1.0?

Example of error message:

ERROR: Device 'fr965' requires an SDK version of 5.0.0 or greater to be compiled. The current SDK version is 4.2.4. Update your SDK using the Connect IQ SDK Manager.

This doesn't make sense to me because:

- There was no SDK 5.x. Afaik, SDK versions went directly from 4.2.4 to 6.2.0

- SDK 7.1.0 is the first SDK to support CIQ 5.0.0

It seems that the minimum SDK for CIQ 5 devices should actually be 7.1.0

Currently an older SDK such as 6.4.2 (or anything less than 7.1.0) can currently be used to build CIQ 5 devices. If my statement above is correct, then this behavior is wrong.

  • Would it at least be possible to confirm or deny that API 5.0.0 devices like fr955 require SDK 7.1.0 and shouldn't be built with SDK 6.*?

  • > (to be fair, this was true right up until System 5)

    sorry, I mean API level 5

  • There's a new thread which relates to this behavior, where the OP is trying to build a Fenix 8 device (fenix847mm) with SDK 6.3.0 (and encountering problems at runtime). It seems that SDK 7.3 should be required to build devices like fenix847mm which are on API level 5.0.1, but SDK 6.3.0 is allowed to build fenix847mm (but SDK 7.2.1 is not),

    https://forums.garmin.com/developer/connect-iq/f/discussion/382378/issue-with-fenix-8-simulator/1822459

    In this thread, someone uses SDK 7.2.1 to build fenix847mm, and they get the following error message:

    > ERROR: Device 'fenix847mm' requires API Level '5.0.1'. The current SDK supports up to API Level '5.0.0'. Try updating your SDK using the Connect IQ SDK Manager.

    Building with SDK 7.3 works fine.

    They then try 6.3.0, but do not get this message. This obviously does not make sense - if SDK 7.2.1 is not good enough to build fenix847mm, how can SDK 6.3.0 be ok?

    Of course, if you try SDK 4.2.4 (as in this bug report), you get the following message

    > ERROR: Device 'fenix847mm' requires an SDK version of 5.0.1 or greater to be compiled. The current SDK version is 4.2.4. Update your SDK using the Connect IQ SDK Manager.

    All of this suggests several things to me:

    - this bug report is, in fact, 100% valid

    - the source of a the bug is problematic check, implemented at the compiler level, which incorrectly equates the SDK version with the highest API level the SDK can support (to be fair, this was true right up until System 5)

    - newer compilers do the check properly, as evidenced by the new behavior and the changed error message, which now references API level instead of SDK version

    - since this bug was fixed at the compiler level, it isn't possible to fix older compilers (such as SDK 6.*)

    But isn't the whole point of this feature to prevent old compilers from being used?

    It's too bad there doesn't seem to be a way to fix this for old compilers without re-releasing all the old SDKs (which will never happen)

  • Seems that this behavior hasn't changed. Would it be possible to at least confirm whether the premise of the bug report is correct or not?

    IOW, I think CIQ 5 devices need a minimum of SDK 7.1.0 not "5.0.0" (especially since there was no 5.* SDK), but I would appreciate confirmation (or denial) of this.

    Thanks!

  • Anyway, we will see if Garmin confirms this bug report.