Date: Sat, 22 Sep 2001 17:03:31 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: Wojciech Galazka Message-Id: <3405-Sat22Sep2001170330+0300-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 CC: djgpp-workers AT delorie DOT com In-reply-to: <250B3114DA16D511B82C00E0094005F8023FC197@MSGWAW11> (message from Wojciech Galazka on Sat, 22 Sep 2001 14:35:59 +0200) Subject: Re: gcc-3.01 seems unstable References: <250B3114DA16D511B82C00E0094005F8023FC197 AT MSGWAW11> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: Wojciech Galazka > 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?