This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

egcs-1.0.1, "make check-g++" fails when another user owns /tmp/a.out


	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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]