Discussion:
crosscompile maxima on Ubuntu for Windows
(too old to reply)
Johannes Maier
2017-07-23 14:29:23 UTC
Permalink
Raw Message
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
m***@gmx.de
2017-07-23 17:58:08 UTC
Permalink
Raw Message
currently I am trying to cross-compile maxima for Windows on a Ubuntu
System.
Why? can't you just download a Windows version binary complete?
I would like to redistribute the maxima kernel as part of a software package.
For this to do, I could of course use the binary package, throw away all
unneeded stuff and put that in my package. But this is error prone in case of
updates of the maxima kernel.
If you insist on compiling again, yourself,
Why use Clisp which is much slower than SBCL?
If you advice me to do so, I will do so. But I didn't choose that. Think this
is chosen in the CMakeLists.txt of the cross-win build. Looking at the
CMakeLists.txt maxima has clisp as dependency...
Why cross-compiling?
I thought that this is the easiest way, since I need the plot support and the
lisp only build does not support that (README). The other method for using
maxima under windows described in INSTALL.win needs a MSYS environment - as
far as I understand that. I don't want to have to use a msys environment in my
package. I would like to have a normal windows binary.
Is there another way of compiling maxima for windows I didn't mention?
Wolfgang Dautermann
2017-07-23 19:14:25 UTC
Permalink
Raw Message
Post by m***@gmx.de
Why use Clisp which is much slower than SBCL?
If you advice me to do so, I will do so. But I didn't choose that.
Think this is chosen in the CMakeLists.txt of the cross-win build.
Looking at the CMakeLists.txt maxima has clisp as dependency...
Yes. Maxima is compiled using CLISP and SBCL by default (using the
crosscompiliation method). I started with CLISP, SBCL support was added
later.
One can choose which Lisp to use - either by command line switch (-l
sbcl / -l clisp) or by using a small TCL/TK utility which is installed
too to set the default Lisp.

Best regards, Wolfgang
Wolfgang Dautermann
2017-07-23 18:47:49 UTC
Permalink
Raw Message
Do I something wrong, is a dependency in the description missing, or is
that feature simply broken?
No, the feature is actively developed, the last Windows releases were
crosscompiled using that procedure.
I compile nightly builds using that procedure.

I use here Ubuntu 16.04LTS (64 Bit) and it is working without problems.
(I do not use MXE but the Crosscompilers, one can install using apt-get
- see line 6 in the Readme
(https://sourceforge.net/p/maxima/code/ci/master/tree/crosscompile-windows/README.txt).

That does work - without problems on my machine - for the source release
5.40 as well as for the latest Git version.


(One remark: One needs a current CMake version for building it, but that
is easyly downloadable in source and binary form from
https://cmake.org/download/
[Use 3.8 for now, that works well - the latest release 3.9.0 has one
issue with finding the crosscompiled wxWidgets, I am investigating that
now].
====================
[ 92%] Performing configure step for 'maxima'
/bin/sh: 1: ./bootstrap: not found
Very strange. There you are compiling the source from the following
location
(https://sourceforge.net/projects/maxima/files/Maxima-source/5.40.0-source/)?
Does work here (Ubuntu 16.04 64Bit) without problems. I did compile the
Windows installer from that tarball.
======================================
-- Maxima version (from configure.ac): 5.40post
-- Found libstdc++ at
/usr/lib/gcc/i686-w64-mingw32/6.2-win32/libstdc++-6.dll
-- Found libgcc at
/usr/lib/gcc/i686-w64-mingw32/6.2-win32/libgcc_s_sjlj-1.dll
That is a newer OS version? On Ubuntu 16.04 LTS I get older versions:

-- Found libstdc++ at
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/libstdc++-6.dll
-- Found libgcc at
/usr/lib/gcc/i686-w64-mingw32/5.3-win32/libgcc_s_sjlj-1.dll
[ 82%] Performing build step for 'maxima'
validation of reserved space too short.
Expression unexpectedly false: win32-os.c:857
MEM_RESERVE, PAGE_EXECUTE_READWRITE)
I have never seen that error. It does come from SBCL, but I really
wonder, why I do not get it here.

Thanks you for your feedback. I will try to reproduce it (and setup a
virtual machine with newer Ubuntu versions, to see, if I can reproduce
it here).

Best regards, Wolfgang
m***@gmx.de
2017-07-24 04:38:23 UTC
Permalink
Raw Message
Post by Wolfgang Dautermann
I use here Ubuntu 16.04LTS (64 Bit) and it is working without problems.
That does work - without problems on my machine - for the source release
5.40 as well as for the latest Git version.
I think I made a mistake.
After trying again, I realized that the 5.40 version actually works on 16.04
(64bit).
I have tried only the 5.39 on the 16.04 system, which produces the bootstrap
error. After that I installed the Kubuntu 17.04 (32 bit) system. For this
system neighter the 5.39 works (bootstrap error), nor the 5.40 works (sbcl
error). So my headline in the error description was wrong. The version was not
5.40, but 5.39. I am very sorry about this confusion.
Post by Wolfgang Dautermann
-- Maxima version (from configure.ac): 5.40post
-- Found libstdc++ at
/usr/lib/gcc/i686-w64-mingw32/6.2-win32/libstdc++-6.dll
-- Found libgcc at
/usr/lib/gcc/i686-w64-mingw32/6.2-win32/libgcc_s_sjlj-1.dll
Correct. This is the Kubuntu 17.04 system.

I tried the mxe environment also. That also works with the 5.40 version.

So the issue seems to be resolved for me. I think I will use 5.40 in future.
I am sorry again for the confusion and thanks a lot for your help.

Jo

Loading...