Menu

Makepp locking files

Help
2008-02-05
2013-03-15
  • Henrik Goldman

    Henrik Goldman - 2008-02-05

    In the recent versions (last 3-4 months) makepp starts locking files at unappropriate times:

    cp -r database ../out/Win32_x86/l/
    find ../out/Win32_x86/l/ -name .svn | gawk '{ print "\""$0"\"" }' | xargs rm -rf
    rm: cannot remove directory `../out/Win32_x86/l/database/.svn/text-base': Directory not empty
    makepp: error: Failed to build target `/cygdrive/d/work/
    makepp: error: aborted

    Essentially what I want is to just copy one directory to another and then clean the .svn and some times .makepp directories.
    However as you can see it doesn't always work out.
    It seems to happen at a fairly random interval.

    Is there anything I can do about it? I assume that makepp could be doing some scanning or similar?

     
    • Daniel Pfeiffer

      Daniel Pfeiffer - 2008-02-06

      Hi Henrik,

      1st: when using gnu tools, you should use find -print0 | xargs -0 rather than gawking!

      2nd: .makepp is makepp's persistent knowledge about what it did and is just doing.  It makes no sence to mess around in it, while makepp is working!  As I mentioned before, the log file is also written to the original dir's .makepp and held open, so you can't delete it on some systems.  Use mppc or rm -r outside of mpp to clean this up, if you must.

      3rd: I don't know about your current problem.  Mpp chdirs around as necessary, so it is not predictable when it is where, except while running a rule, it will be in that rule's dir.  Now with -j several subprocesses are possibly in different dirs at the same time, but if you are still on Win, that explanation doesn't hold.  Besides: cygwin rm says "Device or resource busy" when something is in the dir, so something else seems to be stalling.

      Try to call "strace -fo somefile mpp ...", and then in somefile we will find what is really failing.

      regards
      Daniel

       

Log in to post a comment.