[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: cross-building with --enable-64 MinGW: test results
From: |
Philip Nienhuis |
Subject: |
RE: cross-building with --enable-64 MinGW: test results |
Date: |
Mon, 18 Aug 2014 06:44:19 -0700 (PDT) |
John Donoghue-2 wrote
> Message: 1
> Date: Sun, 17 Aug 2014 12:16:58 -0700 (PDT)
> From: Philip Nienhuis <
> address@hidden
> >
> To:
> octave-maintainers@
> Subject: RE: cross-building with --enable-64: Assembly error
> Message-ID: <
> address@hidden
>>
> Content-Type: text/plain; charset=us-ascii
> -- cut content here --
>
>>
>> Try this match to mxe, based upon this patch.
>> http://lists.freedesktop.org/archives/gstreamer-commits/2014-February/
>> 077094.html
>>
>> fix-libgcrypt.patch (1K)
>> <http://octave.1599824.n4.nabble.com/attachment/4666090/0/fix-libgc
>> rypt.patch>
>
> Thanks, with that patch libgcrypt (and stable-octave) could be cross-built
> w
> 64-bit indexing.
> Trying it out it turns out to be a real 64-bit program - WinXP 32bit
> complains octave*.exe "is not a valid win32 executable".
>
> On my win7 64-bit box octave-3.8.2 runs fine, but....
> running __run_test_suite__.m errors out in eig.cc:
>
> =================================================
>
> GNU Octave, version 3.8.2
> Copyright (C) 2014 John W. Eaton and others.
> This is free software; see the source code for copying conditions.
> There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS
> FOR
> A PARTICULAR PURPOSE. For details, type 'warranty'.
>
> Octave was configured for "x86_64-w64-mingw32".
>
> Additional information about Octave is available at http://www.octave.org.
>
> Please contribute if you find this software useful.
> For more information, visit http://www.octave.org/get-involved.html
>
> Read http://www.octave.org/bugs.html to learn how to submit bug reports.
> For information about changes from previous versions, type 'news'.
>
> octave:1> more off
> octave:2> __run_test_suite__
>
> Integrated test scripts:
>
> liboctave\array\Array.cc-tst ........................... PASS 18/18
> :
> <snip>
> :
> libinterp\corefcn\eig.cc-tst ...........................subscript
> indices
> must be either positive integers less than 2^63 or logicals octave:3>
>
> =================================================
>
> Should I file a bug report for it?
> I tried at random a few other fixed test scripts in
> /share/octave/etc/tests/fixed, but they did run fine. So maybe it is just
> eig.cc that has issues. Is there a way to skip specific tests in
> __run_test_suite__.m?
> <snip>
> ------------------------------
> <John D:>
> Running using the latest mxe as 64 bit __run_test__ I see the same thing
> libinterp\corefcn\eig.cc-tst ...........................subscript
> indices
> must be either positive i
> ntegers less than 2^63 or logicals
I found some time to delve deeper into it.
Singling out eig.cc-tst, converting it into a function .m file and
commenting/uncommenting all tests one by one by hand, it turns out that
eig.cc itself is numerically OK (pfeww!) but it just cannot handle all input
validation tests.
In eig.cc-tst I've commented out the 4 offending input validation tests
(i.e., the last 4). With that, eig.cc-tst gets run OK (all eig tests proper
+ the first 2 input validation tests PASS).
Note that it loks like test.m itself seems to error out with the "subscript
indices ..." message - with debug_on_error (1) it says "error in library
function" and gives me a debug prompt.
Anyway with the revised eig.cc-tst I get the following results for
__run_test_suite__.m, below the stats I've copied in the tests that FAIL:
Summary:
PASS 11521
FAIL 24
XFAIL 7
SKIPPED 48
Excerpt from fntests.log:
===========================================
>>>>> processing
>>>>> D:\Octave\octave-3.8.2\share\octave\3.8.2\etc\tests\libinterp\octave-value\ov-class.cc-tst
***** testif HAVE_JAVA
jobj = javaObject ("java.lang.StringBuffer");
assert (class (jobj), "java.lang.StringBuffer");
!!!!! test failed
unable to find Java Runtime Environment: software\javasoft\java runtime
environment::Currentversion
===========================================
>>>>> processing
>>>>> D:\Octave\octave-3.8.2\share\octave\3.8.2\etc\tests\libinterp\octave-value\ov-java.cc-tst
***** testif HAVE_JAVA
assert (javaObject ("java.lang.Short", 40000).doubleValue < 0);
!!!!! test failed
unable to find Java Runtime Environment: software\javasoft\java runtime
environment::Currentversion
***** testif HAVE_JAVA
jver = strsplit (javaMethod ('getProperty', 'java.lang.System',
'java.version'), '.');
assert (isfinite (str2double (jver{1})) && isfinite (str2double
(jver{2})));
!!!!! test failed
unable to find Java Runtime Environment: software\javasoft\java runtime
environment::Currentversion
===========================================
>>>>> processing
>>>>> D:\Octave\octave-3.8.2\share\octave\3.8.2\etc\tests\libinterp\octave-value\ov-typeinfo.cc-tst
***** testif HAVE_JAVA
x = javaObject ("java.lang.StringBuffer");
assert (typeinfo (x), "octave_java");
!!!!! test failed
unable to find Java Runtime Environment: software\javasoft\java runtime
environment::Currentversion
===========================================
>>>>> processing D:\Octave\octave-3.8.2\share\octave\3.8.2\m\general\chop.m
***** assert (chop (e, 3), 2.72)
!!!!! test failed
ASSERT errors for: assert (chop (e, 3),2.72)
Location | Observed | Expected | Reason
() 2.72 2.72 Abs err 4.4409e-016 exceeds tol 0
***** assert (chop (e, 4), 2.718)
!!!!! test failed
ASSERT errors for: assert (chop (e, 4),2.718)
Location | Observed | Expected | Reason
() 2.718 2.718 Abs err 8.8818e-016 exceeds tol 0
***** assert (chop (e, 4, 5), 2.72)
!!!!! test failed
ASSERT errors for: assert (chop (e, 4, 5),2.72)
Location | Observed | Expected | Reason
() 2.72 2.72 Abs err 4.4409e-016 exceeds tol 0
***** assert (chop (e, 4, 7), 2.716)
!!!!! test failed
ASSERT errors for: assert (chop (e, 4, 7),2.716)
Location | Observed | Expected | Reason
() 2.716 2.716 Abs err 4.4409e-016 exceeds tol 0
***** assert (chop (-e, 3), -2.72)
!!!!! test failed
ASSERT errors for: assert (chop (-e, 3),-2.72)
Location | Observed | Expected | Reason
() -2.72 -2.72 Abs err 4.4409e-016 exceeds tol 0
***** assert (chop (-e, 4), -2.718)
!!!!! test failed
ASSERT errors for: assert (chop (-e, 4),-2.718)
Location | Observed | Expected | Reason
() -2.718 -2.718 Abs err 8.8818e-016 exceeds tol 0
***** assert (chop (-e, 4, 5), -2.72)
!!!!! test failed
ASSERT errors for: assert (chop (-e, 4, 5),-2.72)
Location | Observed | Expected | Reason
() -2.72 -2.72 Abs err 4.4409e-016 exceeds tol 0
***** assert (chop (-e, 4, 7), -2.716)
!!!!! test failed
ASSERT errors for: assert (chop (-e, 4, 7),-2.716)
Location | Observed | Expected | Reason
() -2.716 -2.716 Abs err 4.4409e-016 exceeds tol 0
***** assert (chop (hilb (3), 3), [1,.5,.333;.5,.333,.25;.333,.25,.2])
!!!!! test failed
ASSERT errors for: assert (chop (hilb (3), 3),[1, .5, .333; .5, .333, .25;
.333, .25, .2])
Location | Observed | Expected | Reason
(1,1) 1 1 Abs err 2.2204e-016 exceeds tol 0
(2,1) 0.5 0.5 Abs err 1.1102e-016 exceeds tol 0
(3,1) 0.333 0.333 Abs err 5.5511e-017 exceeds tol 0
(1,2) 0.5 0.5 Abs err 1.1102e-016 exceeds tol 0
(2,2) 0.333 0.333 Abs err 5.5511e-017 exceeds tol 0
(3,2) 0.25 0.25 Abs err 5.5511e-017 exceeds tol 0
(1,3) 0.333 0.333 Abs err 5.5511e-017 exceeds tol 0
(2,3) 0.25 0.25 Abs err 5.5511e-017 exceeds tol 0
(3,3) 0.2 0.2 Abs err 2.7756e-017 exceeds tol 0
===========================================
>>>>> processing
>>>>> D:\Octave\octave-3.8.2\share\octave\3.8.2\m\general\fieldnames.m
***** testif HAVE_JAVA
names = fieldnames ("java.lang.Double");
search = strfind (names, "java.lang.Double.MAX_VALUE");
assert (! isempty ([search{:}]));
!!!!! test failed
unable to find Java Runtime Environment: software\javasoft\java runtime
environment::Currentversion
===========================================
>>>>> processing
>>>>> D:\Octave\octave-3.8.2\share\octave\3.8.2\m\general\methods.m
***** testif HAVE_JAVA
mtds = methods ("java.lang.Double");
search = strfind (mtds, "java.lang.Double valueOf");
assert (! isempty ([search{:}]));
!!!!! test failed
unable to find Java Runtime Environment: software\javasoft\java runtime
environment::Currentversion
===========================================
>>>>> processing D:\Octave\octave-3.8.2\share\octave\3.8.2\m\java\usejava.m
***** testif HAVE_JAVA
assert (usejava ("jvm"), true);
!!!!! test failed
ASSERT errors for: assert (usejava ("jvm"),true)
Location | Observed | Expected | Reason
() 0 1 Abs err 1 exceeds tol 0
===========================================
>>>>> processing
>>>>> D:\Octave\octave-3.8.2\share\octave\3.8.2\m\plot\appearance\axis.m
***** test
hf = figure ("visible", "off");
unwind_protect
a = logspace (-5, 1, 10);
loglog (a, -a);
axis tight;
assert (axis (), [1e-5, 10, -10, -1e-5]);
unwind_protect_cleanup
close (hf);
end_unwind_protect
!!!!! test failed
ASSERT errors for: assert (axis (),[1e-5, 10, -10, -1e-5])
Location | Observed | Expected | Reason
(1) 1e-005 1e-005 Abs err 5.0822e-021 exceeds tol 0
(4) -1e-005 -1e-005 Abs err 5.0822e-021 exceeds tol 0
===========================================
>>>>> processing
>>>>> D:\Octave\octave-3.8.2\share\octave\3.8.2\m\plot\util\copyobj.m
***** testif HAVE_MAGICK
toolkit = graphics_toolkit ();
graphics_toolkit ("gnuplot");
unwind_protect
h1 = figure ("visible", "off");
x = 0:0.1:2*pi;
y1 = sin (x);
y2 = exp (x - 1);
ax = plotyy (x,y1, x-1,y2, @plot, @semilogy);
xlabel ("X");
ylabel (ax(1), "Axis 1");
ylabel (ax(2), "Axis 2");
axes (ax(1));
text (0.5, 0.5, "Left Axis", ...
"color", [0 0 1], "horizontalalignment", "center");
axes (ax(2));
text (4.5, 80, "Right Axis", ...
"color", [0 0.5 0], "horizontalalignment", "center");
s1 = hdl2struct (h1);
h2 = struct2hdl (s1);
s2 = hdl2struct (h2);
png1 = strcat (tmpnam (), ".png");
png2 = strcat (tmpnam (), ".png");
unwind_protect
print (h1, png1);
[img1, map1, alpha1] = imread (png1);
print (h2, png2);
[img2, map2, alpha2] = imread (png2);
unwind_protect_cleanup
unlink (png1);
unlink (png2);
end_unwind_protect
assert (img1, img2);
assert (map1, map2);
assert (alpha1, alpha2);
unwind_protect_cleanup
close (h1);
close (h2);
graphics_toolkit (toolkit);
end_unwind_protect
!!!!! test failed
__ghostscript__.m: ghostscript is required.
===========================================
>>>>> processing
>>>>> D:\Octave\octave-3.8.2\share\octave\3.8.2\m\testfun\assert.m
***** test
x = [-40:0];
y1 = (10.^x).*(10.^x);
y2 = 10.^(2*x);
assert (y1, y2, eps (y1));
fail ("assert (y1, y2 + eps*1e-70, eps (y1))");
!!!!! test failed
ASSERT errors for: assert (y1,y2,eps (y1))
Location | Observed | Expected | Reason
(11) 1e-060 1e-060 Abs err 4.1454e-076 exceeds tol
1.3818e-076
(13) 1e-056 1e-056 Abs err 3.3959e-072 exceeds tol
1.132e-072
(14) 1e-054 1e-054 Abs err 4.3467e-070 exceeds tol
1.4489e-070
(19) 1e-044 1e-044 Abs err 3.7338e-060 exceeds tol
1.2446e-060
(22) 1e-038 1e-038 Abs err 2.6101e-054 exceeds tol
1.3051e-054
(23) 1e-036 1e-036 Abs err 3.341e-052 exceeds tol
1.6705e-052
(27) 1e-028 1e-028 Abs err 2.2421e-044 exceeds tol
1.121e-044
(29) 1e-024 1e-024 Abs err 3.6734e-040 exceeds tol
1.8367e-040
===========================================
>>>>> processing ctor-vs-method.tst
***** shared d, o
d = derived ();
o = other ();
!!!!! test failed
mismatch in number of fields
shared variables scalar structure containing the fields:
d = [](0x0)
o = [](0x0)
***** test
ctrace = {'begin parent/method';
'begin derived/parent';
'begin parent/parent';
'end parent/parent';
'end derived/parent';
'end parent/method'};
__trace__ (); %% clear call trace info
method (d);
assert (__trace__ (), ctrace);
!!!!! test failed
'method' undefined near line 10 column 2
shared variables scalar structure containing the fields:
d = [](0x0)
o = [](0x0)
***** test
ctrace = {'begin other/parent';
'end other/parent'};
__trace__ (); %% clear call trace info
parent (o);
assert (__trace__ (), ctrace);
!!!!! test failed
type mismatch in parent constructor
shared variables scalar structure containing the fields:
d = [](0x0)
o = [](0x0)
***** test
ctrace = {'begin derived/parent';
'begin parent/parent';
'end parent/parent';
'end derived/parent'};
__trace__ (); %% clear call trace info
parent (d);
assert (__trace__ (), ctrace);
!!!!! test failed
type mismatch in parent constructor
shared variables scalar structure containing the fields:
d = [](0x0)
o = [](0x0)
===========================================
>>>>> processing sparse.tst
***** testif HAVE_HDF5 # save hdf5
savefile = tmpnam ();
as_save = as;
save ("-hdf5", savefile, "bf", "as_save", "af");
clear as_save;
load (savefile, "as_save");
unlink (savefile);
assert (as_save, sparse (af));
!!!!! test failed
save: error while writing 'bf' to hdf5 file
***** testif HAVE_HDF5 # save hdf5
savefile = tmpnam ();
as_save = as;
save ("-hdf5", savefile, "bf", "as_save", "af");
clear as_save;
load (savefile, "as_save");
unlink (savefile);
assert (as_save, sparse (af));
!!!!! test failed
save: error while writing 'bf' to hdf5 file
I think that the 6 failing Java tests may be due to my test system having a
32-bit JDK installed. Currently I have no system where I can install a
64-bit JDK next to a 32-bit without risking other SW to malfunction.
Perusing the remaining FAILs I see a lot of tolerance exceeding stuff that
AFAICS isn't extremely harmful, but OK I might be wrong :-) :
- chop.m
- axis.m
- assert.m (!)
That leaves:
- fieldnames.m
- ctor-vs-method.tst
- copyobj.m (Hmmm Indeed I see no "gs.exe" in /bin, in contrast to the
3.9.0+/4.1.0+ binaries I build on a regular basis)
OK that's as far as I could get. Back to work....
Philip
--
View this message in context:
http://octave.1599824.n4.nabble.com/Re-cross-building-with-enable-64-Assembly-error-tp4666071p4666107.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.
- Re: cross-building with --enable-64: Assembly error, (continued)
- Re: cross-building with --enable-64: Assembly error, John W. Eaton, 2014/08/15
- RE: cross-building with --enable-64: Assembly error, John D, 2014/08/15
- RE: cross-building with --enable-64: Assembly error, John D, 2014/08/15
- Re: cross-building with --enable-64: Assembly error, John W. Eaton, 2014/08/16
- RE: cross-building with --enable-64: Assembly error, John D, 2014/08/16
- RE: cross-building with --enable-64: Assembly error, John D, 2014/08/16
- RE: cross-building with --enable-64: Assembly error, John D, 2014/08/16
- RE: cross-building with --enable-64: Assembly error, John D, 2014/08/16
- RE: cross-building with --enable-64: Assembly error, Philip Nienhuis, 2014/08/17
RE: cross-building with --enable-64: Assembly error, John D, 2014/08/18
- RE: cross-building with --enable-64 MinGW: test results,
Philip Nienhuis <=