Rob,
Thanks for testing this and your comments. I'm replying to your
individual comments below.
On 09/03/2019 16:11, Rob Arthan wrote:
1) The configure script doesn’t validate an option beginning "—enable-“.
So I didn’t notice that I’d mistyped —enable-compact32bit until I realised that
I was getting executables and saved states with almost identical sizes.
(I appreciate that this may be an autoconfig thing that you can’t control.)
Yes, I seem to remember that it is and that it wasn't possible to avoid
it because there is a separate "configure" for libffi.
2) If you build Poly/ML with —disable-compact32bit and then try to build it
with —enable-compact32 without doing “make clean", it will fail during the
“make install” step like this:
Making install in .
./polyimport polytemp.txt -I . < ./exportPoly.sml
Assertion failed: (j >= -(((POLYSIGNED)0x80 << (POLYSIGNED)(8*(sizeof(PolyWord)-1) -1)) -1)-1
&& j <= (((POLYSIGNED)0x80 << (POLYSIGNED)(8*(sizeof(PolyWord)-1) -1)) -1)), function
GetValue, file pexport.cpp, line 461.
/bin/sh: line 1: 46725 Abort trap: 6 ./polyimport polytemp.txt -I . <
./exportPoly.sml
make[1]: *** [polyexport.o] Error 134
make: *** [install-recursive] Error 1
Doing “make clean” solves this problem.
I would always run "make distclean" before rerunning configure.
Basically, what is happening is that it is picking up the wrong
pre-built compiler.
3) On MacOS with —disable-intinf-asint and —enable-compact32bit,
the ProofPower build fails like this:
Assertion failed: (space != 0), function ScanObjectAddress, file quick_gc.cpp,
line 414.
4) On Fedora with —enable-intinf-asint and —enable-compact32bit,
the ProofPower build fails like this:
pp-ml: quick_gc.cpp:414: virtual PolyObject*
QuickGCScanner::ScanObjectAddress(PolyObject*): Assertion `space != 0' failed.
This is a last chance to test the current git master before release. Don't forget to run "make compiler" at
least twice after the initial "make" in order to build the up-to-date compiler and recompile all the code
with it. This is particularly important if testing the --enable-compact32bit version. Some extra checking was added
during testing and there is a strong chance of getting an assertion failure during the initial "make" or the
first "make compiler" due to a bug in the pre-built compiler. If this happens just rerun the step. Once the
compiler has been rebuilt it will incorporate a fix.
These are the assertion failure I mentioned. Did this happen after
running "make compiler"?
Regards,
David
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml