Subject: Successful windows build, including xmaxima.exe
From: Mike Thomas
Date: Mon, 9 Sep 2002 15:38:36 +1000
Hi Dave.
> I have uploaded this to http://www.geocities.com/billingd2002/maxima/
Thanks.
> It is split across three files (due to size limitations). Built on
> a win2k P3 and installed into c:\Programs\.
Out of interest I tried a beta version of the 7-zip program
(http://www.7-zip.org/) on maximum "7z" format compression - took ages but
total size for the executable was 6.6 megs instead of 7.8 megs.
> It really is work in progress, but I would be interested to see if it
> works, or how it fails. Good luck.
It unzipped perfectly, and after double clicking on "xmaxima.exe" I tried
the examples and the documentation from the browser without problems.
I copied the maxima directory to a different location ("g:/maxima-5.9") and
did the same - no problems.
Extracted the 7-zip exe into "g:/junk/maxima-5.9" and got the same positive
results.
As a final test I tried "netmath" but it complained about not finding a
channel named "sock172".
Cheers
Mike Thomas
>
> -----Original Message-----
> From: CRTS
> Sent: Sunday, 8 September 2002 12:39
> To: maxima@www.ma.utexas.edu
> Subject: Successful windows build, including xmaxima.exe
>
>
> I now have a standalone windows build, including xmaxima.exe.
> It is bed time, so this is just a summary.
>
> You need all msys and mingw files as described by Mike Thomas
> recently (29 Aug), then build and install gcl.
>
> Install freewrap5.0 from freewrap.sourceforge.net
>
> 1. make and install maxima using mingw/msys/gcl, as discussed
> recently. Assume ./configure --prefix=${prefix}
>
> 2. copy tclwinkill.dll and winkill.exe into ${prefix}/bin.
> These files are part of gcl, but will be moving to
> the maxima tree shortly.
>
> 3. copy ${prefix}/bin/xmaxima to xmaxima.tcl
> patch xmaxima.tcl using hack below (or fix real problem)
>
> 4. Generate xmaxima.exe with command
> freewrap xmaxima.tcl -e
>
> 5. Get hold of mingw gcc. You can either:
> - install mingw and gcc-2.95.3-20011106
> - use a cut down version of gcc-2.95.3-20011106 installed
> as a subdirectory of maxima (details later, but not hard)
> I have both of these working.
>
> 6. Set the path to gcc in a maxima initialization file
> I appended the following line to
> ${prefix}/share/maxima/5.9.0rc1/share/maxima-init.lisp
>
> (setq compiler::*cc* "c:\\programs\\maxima-5.9\\gcc\\bin\\gcc" )
>
> The file xmaxima.exe does all the right things:
> - passes testsuite
> - example(), describe(), load() all work
> - plotting works
>
> There are a few more things that work:
> - the maxima script runs under msys /bin/sh
> - xmaxima script runs under msys if you install tcl/tk
> - maxima.exe runs under a DOS shell using command like
> maxima.exe -eval (run)
> and a maxima.bat file could be put together if required
>
> ###########################################################
>
> Here is the nasty hack to xmaxima.tcl. I suspect that there
> is some problem with [auto_execok $ws_openMath(xmaxima_maxima)]
> but that can wait.
>
> --- xmaxima 2002-09-07 15:39:45.000000000 +1000
> +++ xmaxima.tcl 2002-09-07 21:44:03.000000000 +1000
> @@ -12887,13 +12887,13 @@
> exit 1
> }
> - if { [auto_execok $ws_openMath(xmaxima_maxima)] != "" } {
> - set ws_openMath(localMaximaServer) "$ws_openMath(xmaxima_maxima)
$maxima_opts -p [file join $ws_openMath(maxima_xmaximadir) server.lisp] -r
\":lisp (progn (user::setup PORT)(values))\" &"
> - } else {
> - if { [info exists env(XMAXIMA_MAXIMA)] } {
> - puts "xmaxima: Error. maxima executable
XMAXIMA_MAXIMA=$env(XMAXIMA_MAXIMA) not found."
> - exit 1
> - } else {
> +# if { [auto_execok $ws_openMath(xmaxima_maxima)] != "" } {
> +# set ws_openMath(localMaximaServer) "$ws_openMath(xmaxima_maxima)
$maxima_opts -p [file join $ws_openMath(maxima_xmaximadir) server.lisp] -r
\":lisp (pro
> gn (user::setup PORT)(values))\" &"
> +# } else {
> +# if { [info exists env(XMAXIMA_MAXIMA)] } {
> +# puts "xmaxima: Error. maxima executable
XMAXIMA_MAXIMA=$env(XMAXIMA_MAXIMA) not found."
> +# exit 1
> +# } else {
> # A gruesome hack. Normally, we communicate to the maxima
image
> # through the maxima script, as above. If the maxima script is
not
> # available, as may happen on windows, directly talk to the
GCL
> @@ -12903,8 +12903,8 @@
> set env(MAXIMA_INT_INPUT_STRING) \
> ":lisp (progn (user::setup PORT)(values));"
> set ws_openMath(localMaximaServer) "[file join
$ws_openMath(maxima_verpkglibdir) binary-gcl maxima] -eval \"(run)\" -f &"
> - }
> - }
> +# }
> +# }
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>