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.

>> ERROR: mklib: gmake error during rts430_eabi.lib build

Other Parts Discussed in Thread: MSP430F2274

I've been working with Code Composer V5 and the LaunchPad examples which have their output format set to legancy COFF. Everything has been working just fine. Recently, I downloaded the Quantum Frameworks MSP430 example for CCS and following the guidelines in the PDF, I attempted to build the project. This project appears to be setup for the EABI format. When I try to compile the project, I get the warning: warning #10366-D: automatic library build: using library "C:\ti\ccsv5\tools\compiler\msp430\lib\rts430_eabi.lib" for the first time, so it must be built. This may take a few minutes. .... and then a few cygwin MS-DOS style path warnings. Eventually I see: "feholdexcept.c", line 16: warning: integer conversion resulted in a change of sign cygwin warning: MS-DOS style path detected: C:\qp\qpc\examples\msp430\vanilla\ccs\dpp-eZ430-RF2500\Debug Preferred POSIX equivalent is: /cygdrive/c/qp/qpc/examples/msp430/vanilla/ccs/dpp-eZ430-RF2500/Debug CYGWIN environment variable option "nodosfilewarning" turns off this warning. Consult the user's guide for more details about POSIX paths: http://cygwin.com/cygwin-ug-net/using.html#using-pathnames --> error: '*.obj ' not found gmake.exe[1]: *** [library] Error 1 and then the build fails. I've looked in google and on this forum for a possible cause. The one thing I found had to do with "SDSCM00042061" which has to do with command path length. I was going to try to build the library manually outside of CCS, but that's my question, what do I need to do to build the library manually? Those instructions are not echoed in the output. I have ti\ccvs5\tools\compiler\msp430\lib that includes rtssrc.zip and mklib.exe. Do I need to unzip rtssrc.zip and then run mklib.exe? There is a README.txt file one folder above that talks about compiling using EABI, but doesn't say how to build the library. There is also a MSPEABI.txt file one folder above, but again, it doesn't say how to generate rts430_eabi.lib. I'm running on a Windows7 platform, currently using the ez430-RF2500 kit. Project Properties General as set for Compiler Version TI v4.0.0 and Output format eabi (ELF), linker command file: link_msp430f2274.cmd
  • I'm not particularly surprised that Cywgin and mklib don't play well together; this combination was a rich source of complication in the design of mklib.  This is certainly a bug that needs to be addressed, but you may just want to use the workaround of running mklib directly from outside of CCS.  Change into the compiler's library directory and execute the command "mklib --pattern rts430_eabi.lib --index libc.a", which will build the library.  After that, CCS should not attempt to build it again.

  • Thanks for the reply/post. I found: http://processors.wiki.ti.com/index.php/Mklib#Troubleshooting which talks about the process of building the library outside of CCS, similar to what you stated. Unfortunately it isn't as simple as running a command line command. First of all, I have cygwin installed and mklib requires "gmake" which isn't installed as part of cygwin...I triple checked. I just created gmake.bat and pointed it to the cygwin make. Next, the zip file: rtssrc.zip requires unzip. I use 7zip which isn't command line compatible, so I had to find this and put it somewhere in the Windows PATH. Next, the makefile inside of rtssrc.zip is looking for cl430 and ar430 and if there aren't environmental variables already defined, then it attempts to define them. Unfortunately it's not a "windows" environmental variable in the sense of %cl430%, so I don't think I can use a DOS shell to run mklib I think I may have to run it in the cygwin BASH shell as talked about in the afore mentioned LINK. All and all, this is turning out to be more involved than I had hoped. I'll probably just go back and following the instruction on: http://processors.wiki.ti.com/index.php/Mklib#Troubleshooting as I hope it will be easier than reverse engineering the process. It would have been nice if CCS would have just generated the library...don't know why I was getting the original error.
  • Here is a related thread with similar errors due to cygwin. Maybe the suggestions there can help you workaround the issue.
    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/145966/529658.aspx#529658

  • Whoa, thanks. The above link did help to resolve the problem. The problem is with the "regular" (non-TI) installation of cygwin, so I did the same thing that Baskaran did in the other post: a) I added C:\ti\ccsv5\utils\cygwin to my path and temporarily renamed my regular c:\cygwin folder to something not within the path. b) I added C:\ti\ccsv5\utils\bin to my path because it contains "gmake" which is used in the build of the library. Once I did these two things, then the automatic build that takes place in CCS worked properly. The result was the library in the appropriate place: C:\ti\ccsv5\tools\compiler\msp430\lib\rts430_eabi.lib Thanks for the help.