• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Development Tools » Code Composer Studio » Code Composer Forum » Errors while importing a legacy 3.3 project into CCSv5.1
Share
Code Composer Studio
  • Forum
  • Announcements
Options
  • Subscribe via RSS
Common Questions
  • Code Composer Studio Forum Usage Guidelines

  • Resources
  • Code Composer Studio (CCStudio) Product Folder
  • Troubleshooting CCS
  • CCS Wiki
  • Download CCS
  • Order CCS
  • Tools Insider Blog
  • Bug Tracking
  • Forums

    Errors while importing a legacy 3.3 project into CCSv5.1

    This question is answered
    Jasmeet Kaur97544
    Posted by Jasmeet Kaur97544
    on May 01 2012 06:48 AM
    Intellectual420 points

    Hello all,

    After importing multiple legacy 3.3 projects into a CCSv5.1 workspace, I get the following errors:

    1. 'rts16etiabi.lib' has incompatible ABI (I'm using COFF ABI with CGT tools 4.1.4 as in CCSv3.3)

    2. Symbol defined multiple times in ai.obj and ai.lib

    These errors sometimes appeared in CCSv3.3, but a clean build worked for me, it doesn't seem to work in CCSv5.1, what could be wrong? Can you please suggest something? 

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • AartiG
      Posted by AartiG
      on May 01 2012 10:15 AM
      Guru70605 points

      Jasmeet Kaur97544
      . 'rts16etiabi.lib' has incompatible ABI (I'm using COFF ABI with CGT tools 4.1.4 as in CCSv3.3)



      Even within COFF ABI there are 2 options for ARM - tiabi (an older version) and ti_arm9_abi (the default version starting with codegen tools 4.1.0). In the project settings, make sure that the ABI is set to tiabi if you want to link in with the rts library that is built for tiabi. The option should be under Compiler ->Runtime Model Options.

      Jasmeet Kaur97544
      Symbol defined multiple times in ai.obj and ai.lib

      In what order are these files getting linked? If ai.obj appears first on the link command line, I would expect it to resolve symbol references to this file first and not try to resolve it again from ai.lib. Is ai.obj part of ai.lib? If so, you may want to remove it from ai.lib and just leave it as a separate .obj on the command line.

       


      If a post answers your question please mark it with the "Verify Answer" button

      Search the wikis for common questions: CGT, BIOS,  CCSv3, CCSv4
      Track a known bug with SDOWP. Enter the bug id in the "Find Record ID" box

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Lisa TI
      Posted by Lisa TI
      on May 01 2012 10:19 AM
      Guru103710 points

      Hi Jasmeet,

      what steps did you take to do the import?  What are your project settings?   What do you see set under Project->Properties->General ... Runtime Support library?  It seems this setting might not be correct and referencing the eabi library causing issues.

      Best REgards,

      LIsa

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jasmeet Kaur97544
      Posted by Jasmeet Kaur97544
      on May 01 2012 12:11 PM
      Intellectual420 points

      I used the import wizard to import legacy 3.3 multiple projects in the workspace, In the General, I have set little-endian, compiler tool version 4.1.4, output format leagcy COFF, Under the Runtime Model Options, I select tiabi. I hope this is correct, as the same settings have been used in CCSv3.3

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • AartiG
      Posted by AartiG
      on May 01 2012 16:24 PM
      Guru70605 points

      Those settings look ok. Can you copy and paste the full output of the CCS build console so I can take a look at the complete set of build options?


      If a post answers your question please mark it with the "Verify Answer" button

      Search the wikis for common questions: CGT, BIOS,  CCSv3, CCSv4
      Track a known bug with SDOWP. Enter the bug id in the "Find Record ID" box

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jasmeet Kaur97544
      Posted by Jasmeet Kaur97544
      on May 02 2012 04:02 AM
      Intellectual420 points

      Here is the build configuration:

      **** Build of configuration Build_45NM for project includegen ****

      C:\ti\ccsv5\utils\bin\gmake -k all

      'Building file: D:/threadx arm7 gnss/source/includepreproc/includegen/includegen.c'

      'Invoking: ARM Compiler'

      "C:/CCStudio_v3.3/tms470/cgtools/bin/cl470" --define="RTOS_NUCLEUS" --define="MMGPS_CHIP_VERSION=21" --define="C_OSC_CAL_COMPARISON" --define="ENABLE_TI_ADDONS" --define="GPS5300AI2_BUILD" --define="POD_TESTEN" --include_path="C:/CCStudio_v3.3/tms470/cgtools/include" --include_path="C:/ti/xdais_7_21_01_07/packages/ti/xdais" --include_path=".." --include_path="D:/threadx arm7 gnss ccsv5/source/threadx/include" --include_path="D:/threadx arm7 gnss ccsv5/source" --include_path="D:/threadx arm7 gnss ccsv5/source/me" --include_path="D:/threadx arm7 gnss ccsv5/source/me/me_etc" --include_path="D:/threadx arm7 gnss ccsv5/source/me/cc" --include_path="D:/threadx arm7 gnss ccsv5/source/me/mc" --include_path="D:/threadx arm7 gnss ccsv5/source/pe" --include_path="D:/threadx arm7 gnss ccsv5/source/pe/pe_etc" --include_path="D:/threadx arm7 gnss ccsv5/source/pe/cd" --include_path="D:/threadx arm7 gnss ccsv5/source/libs" --include_path="D:/threadx arm7 gnss ccsv5/source/SampleApps/AI2/ai2" --include_path="D:/threadx arm7 gnss ccsv5/source/SampleApps/AI2/ai" --include_path="D:/threadx arm7 gnss ccsv5/source/SampleApps/AI2/lp" --include_path="D:/threadx arm7 gnss ccsv5/source/libs/bist" --include_path="D:/threadx arm7 gnss ccsv5/source/libs/rtccalib" --include_path="D:/threadx arm7 gnss ccsv5/source/libs/sio" --include_path="D:/threadx arm7 gnss ccsv5/source/libs/i2c" --include_path="D:/threadx arm7 gnss ccsv5/source/libs/newcalib" --include_path="D:/threadx arm7 gnss ccsv5/source/SampleApps/meif" --symdebug:dwarf --diag_warning=225 --display_error_number --abi=tiabi --little_endian --silicon_version=4 --thumb_state --auto_inline=0 --preproc_with_compile --preproc_dependency="includegen.pp" "D:/threadx arm7 gnss/source/includepreproc/includegen/includegen.c"

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Lisa TI
      Posted by Lisa TI
      on May 02 2012 07:04 AM
      Guru103710 points

      Hi Jasmeet,

      have you tried setting the runtime support library to automatic?

      Best Regards,
      Lisa

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • AartiG
      Posted by AartiG
      on May 02 2012 08:48 AM
      Guru70605 points

      Jasmeet,

      Please post the full output of the console (you can save it to a text file and attach it). I'd like to see the full build output as well as the error messages which are thrown by the linker.


      If a post answers your question please mark it with the "Verify Answer" button

      Search the wikis for common questions: CGT, BIOS,  CCSv3, CCSv4
      Track a known bug with SDOWP. Enter the bug id in the "Find Record ID" box

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jasmeet Kaur97544
      Posted by Jasmeet Kaur97544
      on May 02 2012 09:00 AM
      Intellectual420 points

      Yes Lisa, tried that as well, but in vain.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jasmeet Kaur97544
      Posted by Jasmeet Kaur97544
      on May 02 2012 09:07 AM
      Intellectual420 points

      I'm also getting this type of error for several symbols (mc_pmatch.c is a part of the project mc):

      error: symbol $GetBitMask_ind is defined multiple times: mc_pmatch.obj

      (C:/GNSS_45nm/Private/source/product/ti/GPS_ROM/projectfiles/mc/Build_45NM/mc.lib) and C:\GNSS_45nm\Private\source\product\ti\GPS_ROM\projectfiles\mc\Build_45NM\mc_pmatch.obj

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jasmeet Kaur97544
      Posted by Jasmeet Kaur97544
      on May 02 2012 11:52 AM
      Intellectual420 points

      AartiG,

      Sorry, but the number of errors are so large, that the final console only shows the errors, the build console I copied earlier was of another similar project.

      Regards,

      Jasmeet

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • AartiG
      Posted by AartiG
      on May 02 2012 12:31 PM
      Guru70605 points

      Jasmeet,

      These errors are coming from the linker and what you sent earlier was only the compile command, so it doesn't give sufficient detail to be able to really help with this. We really need to be able to look at the link command (everything following "Invoking Linker" in the build console) and also the errors generated in order to provide a more direct/helpful answer.

      If the console output is getting too large, you can increase the number of lines it outputs. In CCS 5.1, if you go into Window->Preferences-?C/C++->Build->Console, you can change the number of lines for the console output. You can also right-click in the console view, choose Select All and copy/paste it into a file. Maybe these techniques might help you capture a more complete output. But in order to provide more specific suggestions we really need to be able to see the linker command and errors generated.


      If a post answers your question please mark it with the "Verify Answer" button

      Search the wikis for common questions: CGT, BIOS,  CCSv3, CCSv4
      Track a known bug with SDOWP. Enter the bug id in the "Find Record ID" box

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jasmeet Kaur97544
      Posted by Jasmeet Kaur97544
      on May 02 2012 23:34 PM
      Intellectual420 points

      0537.console.txt

      Please find the attached file, containing the console output.

      The attached console shows the build output of the project TILinkAll, which has 4 source files and is an executable that links all the previous .lib files generated by the rest of the projects in the workspace. I have added a particular Link Order and added all the other projects as 'Dependencies' of TILinkAll in the project properties options.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • AartiG
      Posted by AartiG
      on May 03 2012 10:12 AM
      Verified Answer
      Verified by Jasmeet Kaur97544
      Guru70605 points

      Jasmeet,

      In your build log, there is one thing I seethat could be causing the issue. 

      You have the option: --obj_directory="c:/GNSS_45nm/Private/source/product/ti/GPS_ROM/projectfiles/TILinkAll/Build_45NM" which puts the obj files in this specific folder. Are there also other .obj files in that folder other than the 4 files you are building?   It looks CCS is picking up other .objs from this location and then finding redefined symbols for them in library files as well.

      Could you try removing the --obj_directory option? In other words, under Compiler->Directory Specifier, set Mode to "Automatic" which disables the --obj_directory, and then do a clean and rebuild.

      One more thing I noticed is that rts16etiabi.lib appears twice on the link command, once with the --library option and once probably from you adding it explicitly to the project. I would suggest removing one of them.

      Let us know how this goes.


      If a post answers your question please mark it with the "Verify Answer" button

      Search the wikis for common questions: CGT, BIOS,  CCSv3, CCSv4
      Track a known bug with SDOWP. Enter the bug id in the "Find Record ID" box

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jasmeet Kaur97544
      Posted by Jasmeet Kaur97544
      on May 04 2012 00:40 AM
      Intellectual420 points

      Thanks AartiG. :)

      Setting the mode to automatic helped in the removal of multiply defined symbols, but I had the object directory path set in CCSv3.3, but it didn't cause any error there, Do CCSv3.3 and 5.1 deal differently with this?

      Now, the problem is that the linker command file is trying to access the path (as defined earlier) 'C:\GNSS_45nm\Private\source\product\ti\GPS_ROM\projectfiles\mc\Build_45NM\mc_searchengine.obj', but since I have changed the option to automatic, the file 'mc_searchengine.obj' is getting created in the new path 'D:\threadx arm7 gnss ccsv5\New Folder\mc\Build_45NM\mc_searchengine.obj'.

      If I try to change the path in the .cmd file, it throws up an error saying 'D:\threadx.obj' not found, probably because of the spaces in the path name, but I cannot rename the whole path now, as it will lead to changing of all the include paths. What should I do now?   

      <Linking>

      >> C:\DOCUME~1\x0176474\LOCALS~1\Temp\TI7363, line 30: error:

      can't find input file 'Build_45NM/../fpu.lib'

      >> Gnss_45nmLink.cmd: error: system error, can't open file

      'C:\GNSS_45nm\Private\source\product\ti\GPS_ROM\projectfiles\mc\Build_45NM\mc_searchengine.obj' for input: No such file or directory

       

       

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • AartiG
      Posted by AartiG
      on May 04 2012 10:24 AM
      Verified Answer
      Verified by Jasmeet Kaur97544
      Guru70605 points

      Jasmeet Kaur97544
      Do CCSv3.3 and 5.1 deal differently with this?

      In Eclipse, all files within the project folder are considered part of the project. So if you have other .obj files within your project folder they will be pulled into the link. You need to take a careful look at where your .obj files are located and which ones are required to be linked in, and modify things accordingly. You should still be able to use the --obj_directory option in CCSv5 to specify which directory to place the object files in, and CCS should be able to detect it fine. All I was saying earlier was that the multiply defined symbols were coming because they were found in both the .lib and .obj.

      Jasmeet Kaur97544

      >> Gnss_45nmLink.cmd: error: system error, can't open file

      'C:\GNSS_45nm\Private\source\product\ti\GPS_ROM\projectfiles\mc\Build_45NM\mc_searchengine.obj' for input: No such file or directory

      Does it not work if you enclose the path in quotes?


      If a post answers your question please mark it with the "Verify Answer" button

      Search the wikis for common questions: CGT, BIOS,  CCSv3, CCSv4
      Track a known bug with SDOWP. Enter the bug id in the "Find Record ID" box

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    12
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use