#801 describe cannot create the file gazonk0.lsp

closed
nobody
Lisp Core (472)
5
2012-12-04
2005-10-17
Volker van Nek
No

Maxima 5.9.2 http://maxima.sourceforge.net
Using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (aka GCL)
Distributed under the GNU Public License. See the file
COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function
bug_report()
provides bug reporting information.
(%i1) describe("describe");
Maxima encountered a Lisp error:

Error in LET [or a callee]: Cannot create the file
gazonk0.lsp.

Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
(%i2) ? anything;
Maxima encountered a Lisp error:

Error in LET [or a callee]: Cannot create the file
gazonk0.lsp.

Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.

This occurs in a Windows 2000 LAN, where users have a
restricted permission to the Maxima program directory
'C:\Programme\Maxima-5.9.2\...'.

The following is a remark Robert Dodier made:

OK, this appears to be a GCL-specific problem.
In the code for describe, some expressions are compiled
for greater speed. GCL is attempting to write an
intermediate
file without checking for write permissions. Probably
for the
foreseeable future, it will be necessary for Maxima to
avoid
executing the Lisp COMPILE function if Lisp version = GCL.

Robert mentioned bug report # 1177085 (a related problem).

Volker van Nek

Discussion

  • Logged In: NO

    On the same computers described in the initial posting I have
    the following.

    Maxima 5.9.1 http://maxima.sourceforge.net
    Using Lisp Kyoto Common Lisp GCL 2.6.5 (aka GCL)
    Distributed under the GNU Public License. See the file
    COPYING.
    Dedicated to the memory of William Schelter.
    This is a development version of Maxima. The function
    bug_report()
    provides bug reporting information.
    (C1) foo(x):=x$
    (C2) compile(foo);
    Compiling gazonk1.lsp.
    End of Pass 1.
    End of Pass 2.
    OPTIMIZE levels: Safety=2, Space=2, Speed=2
    Finished compiling gazonk1.lsp.
    Maxima encountered a Lisp error:

    Error in UNLESS [or a callee]: Cannot delete the file
    #p"gazonk1.h".

    Automatically continuing.
    To reenable the Lisp debugger set *debugger-hook* to nil.
    (C3) compile(foo);
    Compiling gazonk2.lsp.
    End of Pass 1.
    End of Pass 2.
    OPTIMIZE levels: Safety=2, Space=2, Speed=2
    Finished compiling gazonk2.lsp.
    (D3) [foo]

    Volker van Nek

     
  • Logged In: NO

    I get the same error message on Fedora Core 4 + maxima
    5.9.2, but only when the program is run as normal user; when
    run as root, the result is:
    ---------------------------------------------------------------------------------------
    Universal error handler called recursively (:ERROR NIL

    CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER
    ""
    "Couldn't
    protect")
    Universal error handler called recursively (:ERROR NIL

    CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER
    "" "Couldn't
    protect")
    Segmentation fault
    --------------------------------------------------------------------------------------
    Any hints?

     
  • Volker van Nek
    Volker van Nek
    2005-12-09

    Logged In: YES
    user_id=1269745

    Hello,
    before I have the following I picked up Vadims advice and I
    set the working directory in the shortcut to
    C:\Programme\Maxima.
    This helps in that way that now the info folder, which is
    C:\Programme\Maxima\info
    is found by describe.
    Before that I got the error message
    describe cannot find info directory.
    Thanks Vadim.

    What is now: A problem with compile and the describe.lisp
    itself.

    Maxima 5.9.2 http://maxima.sourceforge.net
    Using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (aka GCL)
    Distributed under the GNU Public License. See the file COPYING.
    Dedicated to the memory of William Schelter.
    This is a development version of Maxima. The function
    bug_report()
    provides bug reporting information.
    (%i1) ? plot;
    Maxima encountered a Lisp error:

    Error in LET [or a callee]: Cannot create the file gazonk0.lsp.

    Automatically continuing.
    To reenable the Lisp debugger set *debugger-hook* to nil.
    (%i2) :lisp *info-paths*
    Maxima encountered a Lisp error:

    Error in PROGN [or a callee]: The variable *INFO-PATHS* is
    unbound.

    Automatically continuing.
    To reenable the Lisp debugger set *debugger-hook* to nil.
    (%i2) :lisp cl-info:*info-paths*
    (C:\Programme\Maxima-5.9.2/info/)
    (%i2) load("describe");
    (%o2)
    C:/Programme/Maxima-5.9.2/share/maxima/5.9.2/share/describe.lisp
    (%i3) ? plot;
    0: (maxima.info)Plotting.
    1: Definitions for Plotting.
    2: openplot_curves :Definitions for Plotting.
    3: plot2d :Definitions for Plotting.
    4: plot2d_ps :Definitions for Plotting.
    5: plot3d :Definitions for Plotting.
    6: plot_options :Definitions for Plotting.
    7: set_plot_option :Definitions for Plotting.
    Enter n, all, none, or multiple choices eg 1 3 : none;
    (%o3) false

    What I loaded here as the file named describe.lisp was just
    the following.

    (defmspec $describe (x) ;;; 5.9.1
    (setq x ($sconcat (cadr x)))
    (let ((cl-info::*prompt-prefix* *prompt-prefix*)
    (cl-info::*prompt-suffix* *prompt-suffix*))
    #-gcl
    (cl-info:info x '("maxima.info") *info-paths*)
    ;; Optimization: GCL's built-in info is much faster than
    our info
    ;; implementation. However, GCL's info won't respect out
    *prompt-
    ;; variables. Compromise by only calling our info when
    the prompts
    ;; are not empty. --jfa 07/25/04
    #+gcl
    (if (and (string= *prompt-prefix* "") (string=
    *prompt-suffix* ""))
    (progn
    (setf system::*info-paths* cl-info:*info-paths*)
    ;;(setf system::*info-paths* *info-paths*)
    (system::info x '("maxima.info")))
    (cl-info:info x '("maxima.info")))))

    So this is just function $describe from 5.9.1 with a small
    change.

    I noticed that $describe has changed from 5.9.1 to 5.9.2.
    Reason?
    I hope someone can fix this.

    related bug: 1356617 describe fails

    Related problem:

    $compile does not work for users with restricted access to
    drive C:
    Where are the temporary gazonk files created?
    I didn't find.

    foo(x):=x$

    (C8) compile(foo);
    Maxima encountered a Lisp error:

    Error in LET [or a callee]: Cannot create the file gazonk0.lsp.

    Automatically continuing.
    To reenable the Lisp debugger set *debugger-hook* to nil.

    Volker van Nek

     
  • Robert Dodier
    Robert Dodier
    2006-08-13

    Logged In: YES
    user_id=501686

    src/cl-info.lisp modified (r1.27) to not call COMPILE on
    regex expressions when Lisp = GCL, therefore avoiding the
    creation of gazonk files (GCL compiler temp files). Closing
    this report as fixed.

     
  • Robert Dodier
    Robert Dodier
    2006-08-13

    • status: open --> closed