[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