On Jun 4, 2008, at 2:23 PM, kgs wrote: > kgs wrote: >> kgs wrote: >> >>> kgs wrote: >>> >>> >>>> Hi all, >>>> I've compiled sqlite3 for arm-linux(armv5t) as well as the tcl >>>> environment. >>>> sqlite3 3.5.9 >>>> tcl 8.4 >>>> >>>> I've run testfixture all.test on the hardware it's compiled for. >>>> Everything runs great until we come to the crash4-1.1.1 up to >>>> crash4-1.1000.1. >>>> the messages are : >>>> Expected: [1 {child process exited abnormally}] >>>> Got: [1 {couldn't create error file for command: no such >>>> file or >>>> directory}] >>>> >>>> for each crash4-1.x.1, then : >>>> *** Giving up... >>>> 1000 errors out of 26715 tests >>>> >>>> the crash4-1.x.2 and crash4-1.x.3 return Ok. >>>> >>>> Any ideas as to what may be wrong ? >>>> >>>> Thanks in advance >>>> _______________________________________________ >>>> sqlite-users mailing list >>>> sqlite-users@sqlite.org >>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >>>> >>>> >>>> >>> So this is apparently what is happening... >>> this code in tester.tcl : >>> set r [catch { >>> exec [info nameofexec] crash.tcl >@stdout >>> } msg] >>> >>> is returning : >>> 1 {couldn't create error file for command: no such file or >>> directory} >>> >>> so i think that >@stdout is trying to treat stdout as an open >>> file... >>> but it doesn't exist. >>> >>> I'm guessing that stdout is supposed to be a fixed thing in >>> tcl... and >>> that this is supposed to take the output from the exec and pipe >>> it to >>> stdout. >>> >>> So... if this is how its supposed to work, then why isn't it ? >>> >>> >>> _______________________________________________ >>> sqlite-users mailing list >>> sqlite-users@sqlite.org >>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >>> >>> >> Never mind that last message, >@stdout puts the error message i'm >> getting in "msg" through the catch. >> So that leaves, that the testfixture command is not being found. I >> checked what "info nameofexec" is returning, and it returns the full >> path and name of testfixture. >> When I run "testfixture crash.tcl", I get no error... I am confused. >> >> Forgive my babbling, this is my first day with tcl. >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@sqlite.org >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > Ok, so now I think I know what really going on... from > http://www.tcl.tk/faq/tclwin.htm > B-14: exec: couldn't create error file for command: Error 0 > If exec returns an error message of "couldn't create error file for > command: Error 0", the following may help: > This problem exists under Unix and Windows NT. I have conclusive > proof > that under Unix it was being caused by the temporary directory not > being > world writable, which explains why superusers were able to "exec" > something but not a regular user. The "gotcha!" is that /tmp is not > necessarily the temporary directory that is used, so people were not > seeing an obvious problem. Tcl uses the tmpnam() system call, which on > many systems actually uses /var/tmp, and on some systems that > directory > was not world writable. I would like to call this a problem with one's > site administration. > > Since root access to the hardware I'm using is not attainable, how > do I > work around this ? Any ideas ? > Any help would be greatly appreciated.
Maybe you could get around the problem by setting the TMPDIR environment variable to the path of a writable directory (see [man tmpnam]). Failing that, maybe somebody on comp.lang.tcl will know. Dan. > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users