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.

  • Can't speak for anyone else, but in the past I've purposely built with older SDKs when I update an app (including when I add support for new devices), to avoid possible code bloat for data fields which are tight on memory (especially for older devices which usually can't benefit from any improvements in the SDK).

    So I don't think we can just assume people will only use new SDKs or 7.* SDKs when building for new devices. And if we could assume that, there would be no need for the SDK version check in the first place, right?

  • But the problem still exists in 6.* SDKs. The point of the error is to prevent people from building with old SDKs, right?

    I would argue that this is a WONTFIX at best, not a "Complete" issue, unless something else happens to address the issue.

    Going forward, people will still be able to use SDK 6.* to build System 7 / API 5.* devices, and it's possible people will continue to file spurious bug reports about how things don't work as a result (either in the sim or the real device).

  • >Like I said, clearly the older compilers assume that "SDK version = API version", which is why SDK 6.* (incorrectly) agrees to build API 5.* devices, but SDK 4.2.4 (correctly) refuses to build API 5.* devices.

    Yep, that would do it. The change in wording happened in the 7.2.0 SDK. I was thinking it changed earlier than that. This ticket can be closed as the issue it is reported has been fixed in recent SDKs.

  • > I'm not sure why the SDK 6.3.0 compiler isn't generating the error, but you should use the latest SDK for building API level 5.x devices.

    Like I said, clearly the older compilers assume that "SDK version = API version", which is why SDK 6.* (incorrectly) agrees to build API 5.* devices, but SDK 4.2.4 (correctly) refuses to build API 5.* devices. The check works with the newer compilers (SDK >= 7.1.0), but that doesn't really help bc ideally *all* the older SDKs should refuse to build devices which they are not compatible with.

    This behavior has already caused confusion at least twice:

    - see the first comment in this thread:

    "I'm not sure. fr955 works perfectly with SDK 6.x as it did before the device files were updated to CIQ 5.0.0"

    Ironically, the person who made that comment had previously opened the following bug report: ”bug: can't use Menu2 in system7 devices in the simulator” (with SDK 6.4.2)

    - and the latest thread in the discussion forums where someone tries to build a fenix 8 device with SDK 6.3.0

  • I'm not sure why the SDK 6.3.0 compiler isn't generating the error, but you should use the latest SDK for building API level 5.x devices.