On Mon, Dec 09, 2024 at 07:47:54PM +0100, Grégory Vanuxem wrote:
> Hello,
> 
> Thinking about that, and since the TMP or TEMP environment variables
> in Linux contrary to Windows don't exist by default apparently, what
> about creating the temporary files in src/input like some other
> temporary files.

<snip>

> I just checked with just Git cloned FriCAS on MSYS2/MINGW64, all
> files.input checks pass without the use of '/tmp/'.

There are to separate things that we can do:
- 'writable?' is essentially impossible to implement correctly
  on modern systems.  Namely, the only way to know that file
  is writable is to write to it.  When it works file is (or
  rather was at time of write) writable.  So I think that we
  should not use 'writable?' for opening files.
- from what you wrote it seems that actial problem is that
  '/tmp'/ is not writable from FriCAS.  This can be fixed
  by creating files in build directory.

I am not sure what you tried, but the attached patch works for
me on Linux and should fix problem on Windows.

-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/fricas-devel/Z1eJnBWD8w5w3O2o%40fricas.org.
diff --git a/src/input/Makefile.in b/src/input/Makefile.in
index ac4c7486..7ffa51b8 100644
--- a/src/input/Makefile.in
+++ b/src/input/Makefile.in
@@ -20,9 +20,8 @@ bugs2008.output: ExportType.spad
 regress: regression-tests
 
 mostlyclean-local:
-	-rm -f *.output
-	-rm -rf *.NRLIB
-	-rm -rf $(OUT)
+	-rm -f *.output ts_file.dat
+	-rm -rf *.NRLIB ts_kaf
 	-rm -f redo.input
 	-rm -f sieve.asy sieve.lsp simple.asy simple.lsp
 	-rm -f *.fn *.data *.lib *.$(LISPOBJEXT)
diff --git a/src/input/files.input b/src/input/files.input
index 85cc7cde..a5dd4467 100644
--- a/src/input/files.input
+++ b/src/input/files.input
@@ -18,8 +18,7 @@ a9 := matrix([[1, 2, 3], [-1, 124001, -19]])$I32Matrix
 a10 := new(3, 1)$DoubleFloatVector
 a11 := matrix([[0, 1], [-1.5, 3.15]])$DoubleFloatMatrix
 
-)system rm /tmp/ts_file.dat
-f := open("/tmp/ts_file.dat", "output")$File(None)
+f := open("ts_file.dat", "output")$File(None)
 write!(f, a1 pretend None)
 write!(f, a2 pretend None)
 write!(f, a3a pretend None)
@@ -33,8 +32,7 @@ write!(f, a9 pretend None)
 write!(f, a10 pretend None)
 write!(f, a11 pretend None)
 
-)system rm -r /tmp/ts_kaf
-kf := open("/tmp/ts_kaf", "output")$KeyedAccessFile(None)
+kf := open("ts_kaf", "output")$KeyedAccessFile(None)
 write!(kf, ["a5", a5 pretend None]$Record(key : String, entry : None))
 write!(kf, ["a3a", a3a pretend None]$Record(key : String, entry : None))
 kf("a3") := a3 pretend None

Reply via email to