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.

CCS/TMS320C6678: gmake: ***No rule to make target error when migrating code from CCS 5.1 to CCS 9.1.0

Part Number: TMS320C6678


Tool/software: Code Composer Studio

Hey everyone, 

I have been trying to migrate some project that was working (and still builds successfully) on CCS 5.1, it was built using CGT v 7.2.1. I am currently using CGT V 7.4.24 on CCS 9.1.0. yet I don't think this is the cause of the issue since CGT V 7.4.24 should be backward compatible with 7.2.1. The XDCtools version that I am using is 3.55.2.22.  The console shows me the following: 

"C:\\ti\\ccs910\\ccs\\utils\\bin\\gmake" -k all

makefile:134: recipe for target 'all' failed
gmake[1]: *** No rule to make target 'configPkg/linker.cmd'.
gmake: *** [all] Error 2

**** Build Finished ****

The Errors that are shown are as follows: 

gmake: *** [all] Error 2
gmake[1]: *** No rule to make target 'configPkg/linker.cmd'.

I have tried to create a new workspace in a different directory and copy the project in there, but still it didn't work. What should I check next ? 

  • The errors are most likely due to incompatible XDCtools/BIOS components. As a first step to migration I would suggest using the same version of compiler tools and XDCtools/BIOS with CCS 9.1 as was initially used with CCS 5.1. Once this is verified to build and function correctly you can try upgrading the components one by one to newer versions.

    Please check the version of XDCtools and SYS/BIOS or DSP/BIOS that was used with the CCS 5.1 project. Then install those same versions into CCS 9.1. This page describes the process to do that: http://software-dl.ti.com/ccs/esd/documents/ccs_product-installation-selection.html

    Next install/discover compiler tools version 7.2.1 into CCS 9.1. This page describes the process to do that: http://software-dl.ti.com/ccs/esd/documents/ccs_compiler-installation-selection.html

    Then rebuild the project and let us know if errors remain.

  • Well, seems like I am not capable of installing the same version of XDCtools that I have been using on CCS 3.3 (I realised that project was written in CCS 3.3 not 5.1). Anyway, The version of the XDCtools that I am trying to install is 3.20.08.88 and every time I try to install it on CCS 9.1.0 this dependency error shows up. Any idea how to tackle this bundle error ? 

  • Also, when I try to use some different XDCTools version I always get some error. I installed version 3.23.04.60 but I got that error. 


    And When I tried to use the most recent version of XDCtools (3.55.2.22) , I got an error stating that I have to use a pre 3.30 version of XDCtools so that the build works. The error that have occurred is shown as follows: 
     

    So at the moment, what sort of available options I should try to install a compatible version of XDCtools with my CCS 3.3 Project? 

  • I have to say that migrating a CCS 3.3 project to CCSv9, even with an intermediate migration to CCSv5, is quite a tall order. The XDCtools version in your original project 3.20.08.88 was released many many years prior to CCS 9.1 so I'm not completely surprised that there are some compatibility issues.

    A more stable option for the long-term would be to re-create the project with all of the latest tools - CCS, XDCtools, SYS/BIOS, compiler etc. This would entail creating a new project in CCSv9 and then copying all your source files and build settings from the old project onto the new project. This in turn requires a good understanding of the project and build system on both CCSv3 and CCSv9. The migration might also require tweaking of code and/or BIOS configuration settings to conform to new tools but I think the effort would serve you well in the long run.

    If you still wish to try and fix the immediate build issue at hand, we will try to help as much as we can. Please provide the project.log file referenced in the message when using XDCtools version 3.23.04.60 and describe the exact sequence of steps you went through before you saw the message. 

  • Thanks for your feedback, AartiG. I will definitely try to re-create the project, but I will see first if we can find a way to fix the current build. 

    Regarding the XDCtools version, I also got the same error (that appeared when I used XDCTools v3.23.04.60) when I was using XDCTools V3.55.2.22  when I try to apply my changes to use that version of XDCTools. 

    I attached the project.log when I used XDCTools v 3.23.04.60 (Most of it are just warnings) . There is not much steps that I carry out before building the project. I just ensure that all the libraries,  SYS/BIOS, DSP/BIOS, and PDKs that I have used in older versions of CCS are installed through Window->Preferences->Code Composer Studio -> Products. I then check the project properties and then from CCS Gerenal-> Products tab, I make sure that the platform that I am using is selected and that all the libraries I need are selected, then I select the XDCTools version and then I just apply these settings. Once done, I do a clean build for my project and Boom! the same gmake error shows up once again (the one discussed at the start of the thread). 

    !CONFIGURATION: 'com.ti.ccstudio.buildDefinitions.C6000.Debug.1989389995' [Fri Sep 13 12:01:27 CST 2019]
    
    	!TOOL: 'com.ti.ccstudio.buildDefinitions.C6000_7.4.library.compilerDebug.2108820148'
    
    		!WARNING: Unresolved option: com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.SILICON_VERSION
    
    		!WARNING: Unresolved option: com.ti.ccstudio.buildDefinitions.C6000_7.2.compilerID.ABI
    
    	!TOOL: 'com.ti.ccstudio.buildDefinitions.C6000_7.4.library.librarianDebug.450382264'
    
    		!WARNING: Unresolved option: com.ti.ccstudio.buildDefinitions.C6000_7.2.archiverID.OUTPUT_FILE
    
    

  • After doing a Rebuild of the project, could you save the build log to a text file and attach it here please? 

    Also if could do the same for the successful build with CCS 5.1 that would be very helpful.

  • There you go, the three of them are attached. All after clean builds.

    **** Build of configuration Debug for project AuxLib ****
    
    C:\Program Files\Texas Instruments\ccsv5\utils\gmake\gmake -k all 
    'Building file: ../SRC/gmp_aux.c'
    'Invoking: C6000 Compiler'
    "C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g -O3 --define=GMP_IS_6678DSP --include_path="C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include" --include_path="C:\Work.bak_C\Timing optimize\Gantry\AuxLib\H" --diag_warning=225 --gen_func_subsections=on --interrupt_threshold=1 --disable_software_pipeline --abi=eabi --opt_for_speed=5 --preproc_with_compile --preproc_dependency="SRC/gmp_aux.pp" --obj_directory="SRC"  "../SRC/gmp_aux.c"
    'Finished building: ../SRC/gmp_aux.c'
    ' '
    'Building target: AuxLib.lib'
    'Invoking: C6000 Archiver'
    "C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/ar6x" r "AuxLib.lib" "./SRC/gmp_aux.obj" "../VM2Release/AuxLib.lib" "../VM2Debug/AuxLib.lib" 
      ==>  new archive 'AuxLib.lib'
      ==>  building archive 'AuxLib.lib'
    'Finished building target: AuxLib.lib'
    ' '
    
    **** Build of configuration Debug for project AuxLib ****
    
    C:\Program Files\Texas Instruments\ccsv5\utils\gmake\gmake -k all 
    'Building file: ../SRC/gmp_aux.c'
    'Invoking: C6000 Compiler'
    "C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g -O3 --define=GMP_IS_6678DSP --include_path="C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include" --include_path="X:\GmpRTC 1.05 c 1.00\AuxLib\H" --diag_warning=225 --interrupt_threshold=1 --abi=eabi --opt_for_speed=5 --preproc_with_compile --preproc_dependency="SRC/gmp_aux.pp" --obj_directory="SRC"  "../SRC/gmp_aux.c"
    'Finished building: ../SRC/gmp_aux.c'
    ' '
    'Building target: AuxLib.lib'
    'Invoking: C6000 Archiver'
    "C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/ar6x" r "AuxLib.lib" "./SRC/gmp_aux.obj" "../VM2Release/AuxLib.lib" "../VM2Debug/AuxLib.lib" 
      ==>  new archive 'AuxLib.lib'
      ==>  building archive 'AuxLib.lib'
    'Finished building target: AuxLib.lib'
    ' '
    
    **** Build of configuration Debug for project AuxLib ****
    
    "C:\\ti\\ccs910\\ccs\\utils\\bin\\gmake" -k all 
     
    makefile:134: recipe for target 'all' failed
    gmake[1]: *** No rule to make target 'configPkg/linker.cmd'.
    gmake: *** [all] Error 2
    
    **** Build Finished ****
    

  • The build log for CCS 5.1 attached shows the invocation of the compiler to build a single source file, followed by invocation of the archiver to build the AuxLib.lib. So this appears to be a Static Library project that builds a single file and combines its object file with other libraries to create a new archived library. If that is correct then there is no XDCtools component to this. You can verify by looking at the Project Properties for the CCS 5.1 project - do you see XDCtools under Build in the left pane? I presume not. 

    However, the CCS 9.1 project has a XDCtools component and I'm not clear how or why that appeared. If a project is created with the XDC component, then it expects a RTSC configuration file (.cfg) to be present. The reason for the "No rule to make target" message is that there is no .cfg file present when it expects one.

    At this point I cannot explain why the XDCtools component got added to the project. If you would like to investigate that, we would need the complete original 5.1 project. A quicker option for you to move forward would be to create a new Static Library project in 9.1 and add the sources and options to it. You can refer to the 5.1 project properties and copy the settings over to 9.1.