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.

Compiler: ARM compiler 16.x.x.STS builds throw Internal Error, G make***[all] Error 2 start of linking.

Guru 54087 points
Other Parts Discussed in Thread: TM4C1294NCPDT, SYSBIOS

Tool/software: TI C/C++ Compiler

Variant: TM4C1294NCPDT

<Linking>

INTERNAL ERROR: C:\CCSV7\ccsv7\tools\compiler\ti-cgt-arm_16.12.0.STS\bin\armlnk.exe experienced a segmentation fault This is caused by a defect in the compiler itself. TI Customer Support may be able to suggest a workaround to avoid this.

Errors building several TI-RTOS example projects via REX download to desktop imported to CC7.

Several but not all imported TI-RTOS projects are throwing Symbol resolve errors + others or simply crashing linker before adjusting project includes paths may fix them. The project includes and library path statements seem to be the cause of compiler failures in both cases.

Why is (Debug) added to the statements mean to imply? CCS7 suggests are ambiguous paths, may cause unexpected effects. Removing the word (Debug) and adding forward slash (/) to the end of each statement removes the CCS warning and causes ARM complier Fatal Error 6001 could not open file.

Debug/${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}

Debug/${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}, Debug/${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}

  • You've got several problems here; they may all have the same cause, but we need to untangle them to find out.

    The one that worries me most is this one: "armlnk.exe experienced a segmentation fault"

    In order to debug this issue, we'll need to get a copy of the whole project so that we can run the linker ourselves.
  • BP101 said:
    Several but not all imported TI-RTOS projects are throwing Symbol resolve errors + others or simply crashing linker

    As an alternative to submitting a CCS project ... Please pick one of these projects in which the linker crashes.  Carefully describe how you import this project from resource explorer (REX), and any other steps you take which lead to the crash.  We may be able to reproduce the problem with this information.

    Thanks and regards,

    -George

  • Hi Archaeologist,

    The TI-RTOS projects are downloaded via CCS7 REX, your desktop, import into CC7 project tree. It appears the library and include paths being added by selecting properties GEN tab add (check) a new RTSC agent make no sense so problems tab shows as invalid path. There is no way to provide a link from inside REX so project location is shown below.

    Oddly the project (rtsc) had 22 Symbol errors before added UIA package (checked gen tab) for project, now having same troubling issue you refer as lethal. Seems the library source paths into RTSC sub folders TI-RTOS packaged expand under (C:\ti ) are being mangled in the import and when selecting other packages to an existing project. This compiler oddness seems to have started after deleting the TI-RTOS  downloaded files from the desktop and being forced to re-install RTOS once again (C:\ti ). SYSBIOS 6.45 already existed at CC7 level (C:\CC7) and later added duplicate TI-RTOS installed project depend packages from (C:\ti ) into same level (C:\CC7) trying to stop symbol errors from occurring. This REX forced download path (C:\ti ) package install location goes against the way I had CCS5.4 RTSC packages set up all located under level (C:\CCS5). Perhaps SYS/BIOS text warns users to keep dependencies packages at the same level as CCS for a reason.

  • Some progress:

    Actually got UARTlogging project to fully build *.out without any errors but 1 time only after repeatedly tinkering with UIA include library/paths and UIA check box on the GEN tab. The latest ARM 16.12.0.STS compiler was used. Notice project xdctools root is at level C:\CCS7\xdctools_3_32_00_06_core one level above below CCS7 root C:\CC7\cc7 but all the other dependencies such as UIA tools are at level C:\ti\tirex-content\tirtos_tivac_2_16_00_08\. Are these the correct expected paths for UIA?

  • Hi George,

    The thing is TI-RTOS (uartlogging_EK) example is not my project but one TI engineers built for REX download show in posts above. Simply clicked on import to CCS from desktop download icon in REX, did nothing else but build project for compiler exceptions to occur. All the same RTSC packages installed at C:\ti also exist at the same level C:\CCSV7\ccsv7 so the IDE/compiler should first check root for any tools it may require to link the object files which it already built. CCS IDE properties will not allow me to add an additional xdctools same revision package but installed at another level of the DOS C:\ tree and there is no fix up wizard to correct ambiguous paths ( Debug/${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH} ) of an REX download prior to importing the project to CCS. Funny thing is REX (udpEcho) example fully builds with ambiguous path (lib.ca) and others without the explicit C lib paths (shown below) that I often add after importing a foreign project into the IDE.

    And other projects in the same REX down load path such as tcpEcho example fully build with only ambiguous paths or after sometimes deleting the project/files from CCS7 reimporting and 1st deleting ambiguous path (lib.ca) plaguing every single TI example imported to IDE. That (lib.ca) often returns to the project of it's own accord and seems some kind of residual phantom but often delete it or add it back to get build but compiler often resists to follow preprocessor-include path ( ${CG_TOOL_ROOT}/lib ) and the C library and still requires full path disclosure ( ${CG_TOOL_ROOT}/lib/libc.a ) --- technically that makes no sense!

  • Submitting TI-RTOS project build debug pp files [ --preproc_with_comment(-ppc)] for TI engineering inspection. The REX download project (uartlogging) causes persistent exception faults in compiler 16.9.0.STS and others. Thank You!

  • Thank you for sending in those preprocessed files.  I tried building them a few different ways.  I am unable to reproduce the error.  Please show all the build options exactly as the compiler sees them.

    Thanks and regards,

    -George

  • Thanks for checking!

    It must have something to do with the linker settings. Tried again this AM deleting project and contents on disk, fresh desktop import and same exception occurs. Downloaded REX project files to the desktop repository a few times to omit data corruption CRC being suspect. 

    Compiler:

    -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/Users/WIN7/Documents/CCS7_Workspace/uartlogging_EK_TM4C1294XL_TI" --include_path="C:/ti/tirex-content/tirtos_tivac_2_16_00_08/products/TivaWare_C_Series-2.1.1.71b" --include_path="C:/ti/tirex-content/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/sysbios/posix" --include_path="C:/CCSV7/ccsv7/tools/compiler/ti-cgt-arm_16.12.0.STS/include" --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --verbose

    Linker:

    -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"uartlogging_EK_TM4C1294XL_TI.map" --heap_size=0 --stack_size=512 -i"C:/CCSV7/ccsv7/tools/compiler/ti-cgt-arm_16.12.0.STS/lib" -i"C:/CCSV7/ccsv7/tools/compiler/ti-cgt-arm_16.12.0.STS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="uartlogging_EK_TM4C1294XL_TI_linkInfo.xml" --rom_model

  • Unfortunately, I cannot reproduce the error.  I also had a colleague try.  Same thing.  

    Please conduct the entire problem build from the beginning.  Then save off the build console contents and attach that to your next post.  Please see this post for all the details.  I am not certain we can reproduce the problem with this information.  But we might.

    Thanks and regards,

    -George

  • Hi George,

    This last removal TI-RTOS and download to desktop fixed the UART project. The bad part is REX download removes TI-RTOS 2.16.x.x all products and UART example. The REX download icon on each project preforms import into CCS7 can not remove only the project in question.

    Thanks for everyone help on this issue, seems it was waiting for a new POTUS to take the oath of office. :-)