octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: update: cross compiling Octave for MinGW systems


From: Andreas Weber
Subject: Re: update: cross compiling Octave for MinGW systems
Date: Sun, 06 Jan 2013 18:12:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121122 Icedove/10.0.11

Am 03.01.2013 22:14, schrieb John W. Eaton:
> Here is another update about my experiences cross compiling Octave for
> Windows systems with MinGW using MXE (http://mxe.cc).

Dear John,
great work, thank you for your effort.
I've successfully build 4b484be8aaf3+ tip on AMD64 Debian GNU/Linux 7.0
(wheezy).

I had to patch mk-dist
diff -r 4b484be8aaf3 mk-dist
--- a/mk-dist   Fri Jan 04 14:50:04 2013 -0500
+++ b/mk-dist   Sun Jan 06 17:46:10 2013 +0100
@@ -3,10 +3,9 @@
 set -e

 TOPDIR=$(pwd)
-PATH=/scratch/jwe/src/mxe-octave/usr/bin:$PATH
 TARGET=i686-pc-mingw32
 BUILD=x86_64-unwknown-linux-gnu
-STRIP=$TARGET-strip
+STRIP=$TOPDIR/usr/bin/$TARGET-strip

 echo "deleting previous dist directory..."
 rm -rf dist
@@ -16,7 +15,7 @@
 make octave native-gcc native-binutils JOBS=9

 echo "copying files..."
-cd $TOPDIR/cross-tools/$PREFIX/$TARGET
+cd $TOPDIR/cross-tools/$TOPDIR/usr/$TARGET
 find . -type f -o -type l | sed "s,./,," > $TOPDIR/excluded-gcc-files
 cd $TOPDIR/usr/$TARGET
 tar -c -h -X $TOPDIR/excluded-gcc-files -f - . | ( cd
$TOPDIR/dist/octave ; tar xpf - )

And added a .hgignore:
# use glob syntax.
syntax: glob
usr/
log/
dist/
pkg/
make-shared-from-static*

After copying octave.tar.bz2 to a WinXP 32bit VM and adapting the PATH
var I was able to start the octave GUI. There was one error in the
"Command Window"

octave.exe:1> QObject::startTimer: timers cannot be started from another
thread. QObject::startTimer: timers cannot be started from another thread

I tried some matrix calculus, and all worked, demo plot works with
gnuplot and fltk. I also tried acoth(0.1) which segfaults with cli

acoth(0.1)
ans = 0.10034 - 1.57080i

Runing octave-cli from MinGW Shell works without error.
Plotting works as expected but it segfaults acoth(x) if x<1

octave-cli.exe:3> acoth(2)
ans =  0.54931
octave-cli.exe:4> acoth(1)
ans = Inf
octave-cli.exe:5> acoth(0.9)
panic: Segmentation violation -- stopping myself...
attempting to save variables to 'octave-workspace'...
save to 'octave-workspace' complete


I was also able to run the octave-mxe build with wine-1.4.1.
I had to disable readline:

wine octave-cli --no-line-editing
I run some tests with "runtests" (which I know is only a small subset of
availabe tests in the build tree)

Much of them passes, some only fails because of tolerance but
copyobj.m hangs forever.

Regards, Andy









reply via email to

[Prev in Thread] Current Thread [Next in Thread]