David, Thanks. I've interleaved my replies below.
> On 9 Mar 2019, at 16:59, David Matthews <david.matth...@prolingua.co.uk> > wrote: > > 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. OK. Is there a way of telling whether poly has been built with --enable-compact32bit? (So you can check whether you got what you wanted.) > >> 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. I'll remember to do that in future. > >> 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"? > My script did: make clean make make compiler make compiler make install and it was the "make install" that failed. I also tried it with a third "make compiler" and that didn't make any difference. Doing another "make install" failed in the same way. Regards, Rob. _______________________________________________ polyml mailing list polyml@inf.ed.ac.uk http://lists.inf.ed.ac.uk/mailman/listinfo/polyml