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

Reply via email to