Page MenuHomePhabricator

Build issue related to Keil environment variables
Closed, ResolvedPublic

Description

A build issue happens when building the tfm source code cloned from git May-15 in Windows environment using a Keil MDK pro (ARMCLANG, Arm tools V6.7) Single-User License setup (Win 10, Cygwin, CMake).

According to the instructions found in the tfm repo Keil users shall set ARM_TOOL_VARIANT, ARM_PRODUCT_PATH and ARMLMD_LICENSE_FILE. However, this does not work in the my setup.

If ARM_TOOL_VARIANT, ARM_PRODUCT_PATH and ARMLMD_LICENSE_FILE are unassigned CMake and make complete without errors, although that CMake provides warnings (messages) indicating that "...ARM_TOOL_VARIANT or ARM_PRODUCT_PATH environment variables are not set".

So I propose that at least a note about this detail is added to section "Setup Cygwin to enable a compiler toolchain and cmake after installation", something like:
"In Keil Single-User License configurations the environment variables ARM_TOOL_VARIANT, ARMLMD_LICENSE_FILE and ARM_PRODUCT_PATH shall not be set."

Event Timeline

After some investigation there seems to be multiple valid environment variable settings available for Keil. Depending on the license type either no configuration is needed, and Keil "automagically" solves the problem based on licensing configuration done in the IDE, or the environment variables need to be set properly.
In tfm_sw_requirement.md we already state (line 17) "Note* ARM compiler specific environment variable may need updating based on specific products and licenses as explained in ...". I think we can not go further than this, since compiler licensing is out of scope for the project, and we already pointed users to the appropriate source of information.
In reflection of all this I plan to take two actions:

  1. The licensing configuration check shall be removed from the build system. The warning shall be eliminated when the environment variables are missing sine this is a valid configuration.
  2. Discussion shall be stared to decide how to modify the documentation. It seems to be impossible to come up with something which works for all possible scenarios and licence types, so the change shall focus on making the note mentioned above more visible. In addition it is worth to consider adding a wiki page about this where we list working settings for specific environments.
gyuri-szing closed this task as Resolved.Apr 3 2019, 2:19 PM