This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
egcs-1.0.1, "make check-g++" fails when another user owns /tmp/a.out
- To: egcs-bugs at cygnus dot com
- Subject: egcs-1.0.1, "make check-g++" fails when another user owns /tmp/a.out
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Date: Thu, 22 Jan 1998 10:51:37 -0500 (EST)
- Cc: ghazi at caip dot rutgers dot edu
I recently ran into a problem when running "make check" for
egcs-1.0.1. (I haven't checked a recent snapshot yet.) It happened to
occur on aix, but I think it is platform independent.
> Running /cesl/u26/ghazi/gcc-testing/aix-build/egcs-1.0.1/gcc/testsuite/g++.old-deja/old-deja.exp ...
> ERROR: tcl error sourcing /cesl/u26/ghazi/gcc-testing/aix-build/egcs-1.0.1/gcc/testsuite/g++.old-deja/old-deja.exp.
> ERROR: rm: 0653-609 Cannot remove /tmp/a.out.
> Operation not permitted.
> while executing
> "exec rm -f $x"
> ("foreach" body line 3)
> invoked from within
> "foreach x $args {
> if { [file exists $x] && [file isfile $x] } {
> exec rm -f $x;
> }
> }"
> ("delete" arm line 2)
> invoked from within
> "switch $op {
> cmp {
> set otherfile [lindex $args 1];
> if { [file exists $file] && [file exists $otherfile]
> && [file size $file] == [file ..."
> (procedure "standard_file" line 5)
> invoked from within
> "standard_file "fizban" delete /tmp/a.out"
> ("eval" body line 1)
> invoked from within
> "eval ${try}_${proc} \"$dest\" $args"
> (procedure "call_remote" line 57)
> invoked from within
> "call_remote "" file "build" delete /tmp/a.out"
> ("eval" body line 1)
> invoked from within
> "eval call_remote \"\" file \"$dest\" $args"
> (procedure "remote_file" line 2)
> invoked from within
> "remote_file build delete $output"
> (procedure "old-dejagnu" line 248)
> invoked from within
> "old-dejagnu $GXX_UNDER_TEST "$file" "" "$DEFAULT_CXXFLAGS" "-lstdc++""
> ("foreach" body line 11)
> invoked from within
> "find $srcdir/$subdir *.C"
> (file "/cesl/u26/ghazi/gcc-testing/aix-build/egcs-1.0.1/gcc/testsuite/g++.old-deja/old-deja.exp" line 47)
> invoked from within
> "source /cesl/u26/ghazi/gcc-testing/aix-build/egcs-1.0.1/gcc/testsuite/g++.old-deja/old-deja.exp"
> ("uplevel" body line 1)
> invoked from within
> "uplevel #0 source /cesl/u26/ghazi/gcc-testing/aix-build/egcs-1.0.1/gcc/testsuite/g++.old-deja/old-deja.exp"
> invoked from within
> "catch "uplevel #0 source $test_file_name""
It turned out that another user owned /tmp/a.out, if this
happens, all the g++ checks are hosed. Setting TMPDIR didn't seem to
help so I can't work around it.
It may seem minor, but I think this is a serious problem and I
don't think we should be using such a generic name in /tmp of all
places.
Unfortunately, I'm not fluent in tcl or dejagnu. Can someone who
is help out and write a patch?
Thanks,
--Kaveh
PS: All the other language/library checks (including libio and
libstdc++) complete normally, only check-g++ fails.
--
Kaveh R. Ghazi Project Manager / Custom Development
ghazi@caip.rutgers.edu ICon CMT Corp.