Subject: Building GCL and Maxima plotting - Windows
From: Mike Thomas
Date: Thu, 29 Aug 2002 17:43:29 +1000
Hi James.
> > At present the CVS version of that script is a bit neglected
>
> True.
>
> > as they changed
> > the installed Maxima directory layout without updating XMAXIMA.
>
> Not true. At least, if there is a bug relating to the new directory
> layout and xmaxima, I am not aware of it. We have updated xmaxima to
> reflect the relevant changes in maxima. Please let us know if you find
> something we have neglected to change..
I hadn't realised those changes had been made - sorry about that! (And
thanks!)
1. After updating from Maxima CVS where Maxima had already been built and
saved
2. patching two files in "interfaces/xmaxima" as follows
----------------------------------------------------------------------------
-
$ cvs diff interfaces/xmaxima/
cvs server: Diffing .
cvs server: Diffing interfaces
cvs server: Diffing interfaces/xmaxima
Index: interfaces/xmaxima/xmaxima-trailer.tcl
===================================================================
RCS file: /cvsroot/maxima/maxima/interfaces/xmaxima/xmaxima-trailer.tcl,v
retrieving revision 1.1
diff -r1.1 xmaxima-trailer.tcl
0a1,18
> if { "$tcl_platform(platform)" == "windows" } {
> global ws_openMath
> set ws_openMath(kill) [file join $ws_openMath(maxima_prefix) \
> bin winkill.exe]
> catch { load [file join $ws_openMath(maxima_prefix) \
> bin tclwinkill.dll] }
> # proc setIcon { w } {
> # global ws_openMath
> # winico set [winfo toplevel $w] [winico createfrom [file join \
> # $ws_openMath(maxima_prefix) src max.ico ]]
> # }
> # after 2000 { setIcon . }
> # after 6000 { setIcon . }
>
> } else {
> set ws_openMath(kill) kill
> }
>
Index: interfaces/xmaxima/xmaxima.tcl
===================================================================
RCS file: /cvsroot/maxima/maxima/interfaces/xmaxima/xmaxima.tcl,v
retrieving revision 1.4
diff -r1.4 xmaxima.tcl
12370,12387d12369
< if { "$tcl_platform(platform)" == "windows" } {
< global ws_openMath
< set ws_openMath(kill) [file join $ws_openMath(maxima_prefix) \
< src winkill.exe]
< catch { load [file join $ws_openMath(maxima_prefix) \
< src tclwinkill.dll] }
< proc setIcon { w } {
< global ws_openMath
< winico set [winfo toplevel $w] [winico createfrom [file join \
< $ws_openMath(maxima_prefix) src max.ico ]]
< }
< after 2000 { setIcon . }
< after 6000 { setIcon . }
<
< } else {
< set ws_openMath(kill) kill
< }
<
13182,13185d13163
<
<
<
<
----------------------------------------------------------------------------
-
3. doing "make install"
4. ignoring the following build error by typing "(by)" as shown below so
that install could proceed with an older, pre-existing maxima executable:
--------------------------------------------------------------------------
.....
; - Loading binary file "binary-gcl/transf.o"
Loading binary-gcl/transf.o
start address -T 1052ac00 Finished loading binary-gcl/transf.o
Error: fix_filename: Cannot get the truename of #p"".
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by LET*.
Broken at FILE-NAMESTRING. Type :H for Help.
>>(by)
make[2]: Entering directory `/c/cvs/maxima/src'
.....
--------------------------------------------------------------------------
and
5. hand copying winkill.exe and tclwinkill.dll from the GCL build bin
directory, I was able to type (at a Cygwin prompt)
g:/maxima/bin/xmaxima
and get a working XMAXIMA session - plots as well, Stephen!
NOTES FOR A RELEASE BUILD - JAMES and CAMM:
1. I think we should transfer the source code for "winkill.exe" and
"tclwinkill.dll" from the GCL build tree where it serves no purpose, into
the Maxima "interfaces/xmaxima" directory.
2. The resulting xmaxima script is not double-clickable - I'll look into
that further.
Cheers
Mike Thomas