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

In Keil, environment variables can lead to build issues if not configured correctly. Incorrect variable settings, paths, or dependencies can cause compilation errors, making it essential to double-check and maintain accurate configurations. Properly managed environment variables are crucial for a smooth and error-free development process in Keil's embedded systems environment. Connections Game

I'm glad to see that you have a unique way of writing the post. Now it's easy for me to understand the idea and put it into practice io games

Your proposed note could be incredibly helpful for users encountering similar issues. Sharing these insights enhances the overall collaborative experience in troubleshooting build issues.
Indianapolis Car Repair Specialists