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.

Compile Error [E1000] Unable to open temp macro library: Permission denied



Hello,

I have problems compiling the following file.

cl2000 -k -q -ss -@diag.txt -as -o2 -fr obj -fs asm -ft obj -ml -mt -mi -v28 --gen_func_subsections -i"include" -dLARGE_MODEL -dCPU=3 -dCONFIGURATION=3 -dPROJECT=0  -dNDEBUG DSP2833x_GlobalVariableDefs.c
"asm\DSP2833x_GlobalVariableDefs.asm", ERROR!  : [E1000] Unable to open temp
                                                         macro library:
                                                         Permission denied

 

This error appears not every compile run. 1 of  2000 fails.

I found this post

http://e2e.ti.com/support/development_tools/compiler/f/343/t/85787.aspx

But my TMP and TEMP variables point to  "%USERPROFILE%\AppData\Local\Temp". The Directory is writable .

 

I use mingw32-make.exe (see http://processors.wiki.ti.com/index.php/Quick_Tips#Building.C2.A0). Not the whole mingw enviroment just mingw32-make.exe as an command line tool. I start 12 parallel jobs on a 4 core (hyperthread) 32Bit Win 7 System. CG Tool Version is 5.2.10. As you can see above I define preprocessor directives at the command line. So I can compile different software settings in a loop. One Loop compile ~2000 different software settings.  It seems that the error appears only at file DSP2833x_GlobalVariableDefs.c.

Could it be the parallel compiler jobs try to access the same temporary file??


Can anyone help? Thanks!

Jens

 

 

  • I know this doesn't solve your problem, but I want to make sure there is a link from this thread to the related thread http://e2e.ti.com/support/development_tools/compiler/f/343/t/85787.aspx

  • Jens,

    Jens Baumann said:

    Could it be the parallel compiler jobs try to access the same temporary file??



    This could be the issue.

    I haven't actually used migw-make myself, but could you try a few things to see if it helps:

    - reduce the number of parallel builds to see if that helps
    - do all the projects specify the same temp file directory? If so, could you try specifying different temp folders (using the -ft option) at project level or even source file level (start with this DSP2833x_GlobalVariableDefs.c file) to see if that helps?

  • Hello,

     

    I will try that but this will take some time because the error doesn't appears every run.

     

    All the files, which are compiled in parallel, uses the same temp folder. Is it possible to the cgtools with mingw32_make and -j#.

     

    I found a quick tip to use mingw32_make. So I thought the cg tools are able to run in parallel.

    http://processors.wiki.ti.com/index.php/Quick_Tips#Building.C2.A0

     

    Thanks!

  • The tools can be run in parallel, and many users use them in that way.  The temporary macro file is an internal file, so there is no option to change where it is created; it gets chosen using standard temporary file mechanisms and will usually be in the TEMP or TMPDIR locations under Microsoft Windows.

    Since other parallel runs have permission to write files (in whatever location is used) I don't see why just one run would occasionally have a problem.  If two runs did happen to select the same temporary file name, which is unlikely, I would instead expect to see one program reading a corrupted file that the other was actually writing, and not see a "permission denied" error,.  A small test program I wrote to open and write to the same file name by two different programs at the same time acted the way I expected and did not generate a permission denied error on WinXP or Win7.

    Sorry I am not able to resolve your issue, but I wanted to pass on this information in case it was of some interest.

  • Hello Wolf,

     

    thanks for your info. What are the causes that the tools display error [E1000]?

     

    I tried to reduce the number of parallel threads and the error appears decreasingly but didn't disappear completely.

     

    The problem is, that I want to set up a continuous integration server, which compile the software automatically. The server report one a day that our software repository is unstable.

     

    Starting next week I am in vacation for a month. So I couldn't reply.

     

    By and have a good time.

     

  • I'm sorry, but I don't know the cause of the problem for you.  I was just trying to provide some background information that parallel compilation is used by others and that this file is just being created and accessed thru standard methods.