This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CODECOMPOSER: Error linking libraries in linked folder with spaces in path

Part Number: CODECOMPOSER

Hi,

I'm using CCS 10 with SimpleLink MSP432P4 SDK. I am having issues with spaces in the path, please find an example workspace attached./cfs-file/__key/communityserver-discussions-components-files/81/Folder-Space.zip

My workspace is located in a folder that contains a space in the name ("Folder Space").

That folder contains the empty TI-RTOS example project from SimpleLink MSP432P4 SDK, and a src fodler with my code and IQmath libbrary

When I place some libraries (IQMath in the example) in a src folder at workspace level, and add the src folder to the empty project as a linked folder, the linker fails due to the space in the name, it cannot find the .a files that tries to link automatically. (see attached image below)



However, if I place the IQmath library in a non linked folder inside the project, it builds correctly.

I went to Project Properties -> Resource -> Linked resources -> Linked Resources tab and tried many different combinations of the field "Location" for src, placing quotation marks and so on, but I had the same error result.

Is there a way to specify there this linked folder location so it can work in folders with spaces in the name? (removing the space is not an option)

Many thanks,

Álvaro

  • Álvaro,

    Definitely looks like a bug here with how CCS is passing libraries that are in the project (as linked files with spaces).  Not only is the path not captured in spaces I also don't see the -l in front of it.  I will see if I can reproduce on my machine from what I can see in your capture it sure looks like a bug.  I am a bit surprised that you were able to get the tirtos_builds project to build as typically xdctools really does not like that.

    One workaround you could use for now would be to exclude those libraries from the build by right clicking on them and excluding them.

    Then in the build options specify the libraries that you want to include.

    Here I have added the IQmathLib.a to the libraries to link:

    Then I added the path where the library is located.  Both IQmathLib.a and IQmathLib_CCS_MSP432.lib are in this folder that has spaces.  As it actually ends up being the second one that is really linked.

    Then the link step looks like this:

    Invoking: Arm Linker

    "/Users/a0792138/ti/ccs1031build5/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --advice:power=none -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on -z -m"empty_MSP_EXP432P4111_tirtos_ccs.map" -i"/Users/a0792138/test 2" -i"/Users/a0792138/ti/simplelink_msp432p4_sdk_3_40_01_02/source" -i"/Users/a0792138/ti/simplelink_msp432p4_sdk_3_40_01_02/kernel/tirtos/packages" -i"/Users/a0792138/ti/ccs1031build5/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/lib" --diag_wrap=off --display_error_number --warn_sections --xml_link_info="empty_MSP_EXP432P4111_tirtos_ccs_linkInfo.xml" --rom_model -o "empty_MSP_EXP432P4111_tirtos_ccs.out" "./empty.obj" "./syscfg/ti_drivers_config.obj" "./main_tirtos.obj" "../MSP_EXP432P4111_TIRTOS.cmd" -l"ti/display/lib/display.aem4f" -l"ti/grlib/lib/ccs/m4f/grlib.a" -l"third_party/spiffs/lib/ccs/m4f/spiffs.a" -l"ti/drivers/lib/drivers_msp432p4x1xi.aem4f" -lIQmathLib.a -l"third_party/fatfs/lib/ccs/m4f/fatfs.a" -l"ti/dpl/lib/dpl_msp432p4x1xi.aem4f" -l"/Users/a0792138/workspace_v10/tirtos_builds_MSP_EXP432P4111_release_ccs/Debug/configPkg/linker.cmd"  -l"ti/devices/msp432p4xx/driverlib/ccs/msp432p4xx_driverlib.lib" -llibc.a

    The path gets quoted properly automatically.

     

    The path I used was just a test but assuming your libraries are still inside the SDK you could instead have the path be something like this so that there is no absolute path directly used.

    Regards,

    John

  • I was not able to build the attached project on my mac but a colleague can reproduce on Windows and see exactly what you see.  The workaround I provided should work.  My colleague will file a defect for the issue you are seeing and reply back with the tracking ID.

    Regards,

    John

  • I filed a bug for this. Tracking ID: https://sir.ext.ti.com/jira/browse/EXT_EP-10379

    Thanks

    ki

  • Hi John, 

    Thank you very much for your prompt response and for the workaround, that's exactly what I did to link the libraries without receiving the error.

    I'm using a Location Variable and it works fine, so I confirm that there is no need to add absolute paths:

    ${workspace_loc:/${ProjName}/src/Libs/IQmath/QmathLib_CCS_MSP432.lib}

    Thanks a lot to all the team for your excellent support.

    I will keep track of the bug and update the project when it's ready.

    Best regards, 

    Álvaro

  • Thanks Ki!