Mail Archives: djgpp-workers/2001/09/22/10:07:58
> From: Wojciech Galazka <wojciech DOT galazka AT polkomtel DOT com DOT pl>
> Date: Sat, 22 Sep 2001 14:35:59 +0200
>
> I'm writting once again to let you know there is a problem with absolute
> path names whose sizes is very large ( > 67 chars, perhaps)
> under W2k
> I only started looking at this and it seems that if a pathname is too long
> then a root directory (\) is used instead
> so rm -rf \very_long_path\*.*
> results in
> rm -rf \*.*
>
> This has just happened to me and I lost 700 MB of some programs :)
> when I tried to continue compiling libstdc++-v3.
> Make gave something like
> (1234567890 was the first directory on the root dir
> two directories only shown - actually more were deleted, the point is that
> 1) directories from the root dir are scanned; 2) make does recursive scans)
No, please _do_ show us the _exact_ full directory name that caused
this to happen. You can do that safely, without fearing any loss of
data, if you run "rm -ir" instead of just "rm -r" or, worse' "rm
-rf". It's also advisable to begin with removing a single file (thus
not risking to lose any data except that file, which can be a trash
file). Or are you saying that the problem only happens with "rm -r"?
It is impossible to debug this without seeing at least one full
example.
> d:/djgpp.2/bin/rm: cannot remove directory
> `.libs/libstdc++.lax/djgpp.2/gnu/gcc-3.02/build.djg/i586-pc-msdosdjgpp/libst
> dc++-v3/include/backward/1234567890': Operation not permitted (EPERM)
This name is much longer than 67 characters, even though you replaced
part of the name with 1234567890.
Also, where do you see that ``directories from the root dir are
scanned''? ".libc/libstdc++.lax/..." does not start from the root.
Finally, what is the command invoked by the Makefile (or a shell
script) which runs `rm' in this case?
- Raw text -