axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Cannot create the file /tmp/gazonk0.fn


From: Bill Page
Subject: [Axiom-developer] Cannot create the file /tmp/gazonk0.fn
Date: Fri, 18 Aug 2006 23:22:36 -0400

On August 18, 2006 10:42 PM I wrote:
> 
> On August 18, 2006 3:38 PM Alfredo asked:
> 
> > Bill any idea what is this: [in Axiom]
> >
> > vp1:=draw(sin(x), x=%pi/10..%pi)
> >   >> System error: 
> >  (SYSTEM "gcc -c -Wall -DVOL=volatile -fsigned-char -pipe
> > -I/home/page/repository/axiom--main--1/mnt/linux/bin/../h -O3
> > -fomit-frame-pointer -c \"/tmp/gazonk1.c\"
> > -o \"/tmp/gazonk1.o\" -w")
> > returned a non-zero value 0. 
> >
> > I get this error if I try to do:
> > vp1:=draw(sin(x), x=%pi/10..%pi)
> >
> 
> The "gazonk" files are temporary files created by the gcl lisp
> compiler. I presume that the lisp compiler is being called to
> compile the function 'sin(x)' prior to using it to generate the
> data for the graph (which makes more sense of course if the
> function to be plotted is more complex than in this example).
> ... 
> This whole gazonk temporary file thing is not particularly well
> done in the current version of gcl (especially in the case of
> multi-user systems) because of possible race conditions while
> generating unique temporary file names and there have been some
> discussions on the gcl-devel list about replacing it with a linux
> operating system standard method for tmp files.
> 

I have taken another look at this and I think there is indeed a
problem with gazonk files here. On the axiom-developer server when
I run the above commmand I do not get any problem. On the other
hand after the Axiom session is ended there is still a in /tmp
file named 'gazonk0.fn'

  # ls -l /tmp

-rw-r--r--    1 plone    plone         352 Aug 18 21:09 gazonk0.fn

I think this is the so called "proclaim" file for the compiled
function that contains information about the data types used in
the lisp function (but my understanding of gcl may be so good, so
don't count on these details). Anyway, I think this temporary file
should have been deleted by gcl.

I am using Axiom built from current sources in June 2006 with the
gcl-2.6.8pre source from that Axiom distribution.

Notice that it is owned by user plone and has some write limitations.

Later if I try this axiom command while logged in as a different
user I get the error message:

>> System error:
   Cannot create the file /tmp/gazonk0.fn.

And after that there are even more files left in /tmp

-bash-2.05b# ls -l /tmp
-rw-rw-r--    1 page     page       163098 Aug 18 21:52 gazonk0.c
-rw-rw-r--    1 page     page          100 Aug 18 21:52 gazonk0.data
-rw-r--r--    1 plone    plone         352 Aug 18 21:09 gazonk0.fn
-rw-rw-r--    1 page     page          232 Aug 18 21:52 gazonk0.h
-rw-rw-r--    1 page     page          112 Aug 18 21:52 gazonk0.lsp

If I remove the file '/tmp/gazonk0.fn' this error goes away.

BTW, because of this error we can actually see the lisp code that was
generated by the Axiom interpreter:

-bash-2.05b# cat /tmp/gazonk0.lsp

(lisp::defun boot::%a (boot::|x|)
  (lisp::declare (lisp::float boot::|x|))
  (boot::c-to-r (lisp::sin boot::|x|)))

------

The C code generated by gcl was a lot longer so I wont include it
here. :)

Regards,
Bill Page.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]