On 17/01/2012 7:21 PM, Stefano Ferri wrote:
> I was also trying to build a Maxima installer when Robert asked for
> that, but I was stuck with the compilation of gcl. I've read the
> install.win32 but I've installed the latest version of Minsys/Mingw to
> see if they worked.
>
> First, the ./confgure was extremely slow (I have a slow pc, but while
> on a Linux box it takes 1-2 minutes to complete, on windows it takes
> about 20 minutes), but maybe this is a Mingw/Minsys-related issue.
>
> The problem is that configure complains about a missing xdr_double and
> stops with an error. I've not found a solution for that, how have you
> set up the build environment? I've made a complete installation via
> installer, and not manually downloaded and installed files and
> suggested in install.win32. Do I need some other package?
>
> Thanks
> Stefano
>
Here are some rough notes. Happy to explain further as required. I may
have missed a step or two. This works for me in WinXP 32-bit but not on
Window 7 64-bit, where gcl configure chokes. If you are getting the xdr
error then you are past the tests that fail for me.
It is slow, and anti-virus software will make it even worse
To compile gcl
* latest mingw installation with gcc-4.6.2. Not sure exactly which
packages are installed, but I just added them using mingw-get as
required. I don't recall any problems here.
* gcl-2.6.8pre from CVS
* xdr isn't needed for maxima. I couldn't disable it in configure,
and the test seems broken, so I just removed the tests using the
patch below.
* /configure --enable-ansi --enable-dynsysgmp; make; make install
It would be better to provide xdr or fix gcl configure so that
--disable-xdr or enable-xdr=no works.
To compile maxima
* ActiveState perl and python (32-bit) with wrapper scripts for perl
and python in /usr/local/bin. Can also do this with PATH but
wrappers work better for me.
* some other tools as given in INSTALL.win32, but using latest
versions I could find. You don't need many of them until you
build an installer
* sh bootstrap; configure; make; make check
* if you are building an installer then you need the configure line
as given in INSTALL.win32
To install maxima and make installer
* wxMaxima binary from Andrej (as I haven't tried to build it from
source yet). Just copy the whole folder from latest installer,
and put it where "make iss" can find it - see
interfaces/xmaxima/win32/Makefile
* ActiveState tcl
* Other tools as given in INSTALL.win32, but using latest versions I
could find.
* Changes to interfaces/xmaxima/win32/Makefile (attached) after
running configure.
o use tcl header, library and dll from c:/tcl
o install parts of gcc needed to compile maxima using gcl
* make install; make iss
* run the maxima.iss file through InnoSetup
$ diff -u configure.orig configure
--- configure.orig 2012-01-16 21:59:22 +1100
+++ configure 2012-01-17 21:12:25 +1100
@@ -2546,11 +2546,11 @@
# Check whether --enable-xdr was given.
-if test "${enable_xdr+set}" = set; then :
- enableval=$enable_xdr; try_xdr=$enableval
-else
+#if test "${enable_xdr+set}" = set; then :
+# enableval=$enable_xdr; try_xdr=$enableval
+#else
try_xdr="no"
-fi
+#fi
# Check whether --enable-xgcl was given.
@@
@@ -5691,56 +5691,6 @@
fi
-ac_fn_c_check_func "$LINENO" "xdr_double" "ac_cv_func_xdr_double"
-if test "x$ac_cv_func_xdr_double" = xyes; then :
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xdr_double in
-ltirpc" >&5
-$as_echo_n "checking for xdr_double in -ltirpc... " >&6; }
-if ${ac_cv_lib_tirpc_xdr_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltirpc $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char xdr_double ();
-int
-main ()
-{
-return xdr_double ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_tirpc_xdr_double=yes
-else
- ac_cv_lib_tirpc_xdr_double=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result:
$ac_cv_lib_tirpc_xdr_double" >&5
-$as_echo "$ac_cv_lib_tirpc_xdr_double" >&6; }
-if test "x$ac_cv_lib_tirpc_xdr_double" = xyes; then :
- TLIBS="$TLIBS -ltirpc"
-else
- as_fn_error $? "Need xdr_double" "$LINENO" 5
-fi
-
-fi
-
-
-
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Makefile
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20120117/aa2d2476/attachment-0001.ksh>