PGO Build: error building for arm 32bit

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
[...]
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/swi-prolog-devel/src/build
[930/2597] Building Java objects for jpl_jar.jar
Note: org/jpl7/fli/atom_t.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
[963/2597] Building Java objects for jpltest.jar
Note: org/jpl7/standalone/Garbo.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
[2209/2597] Collecting profile data...
'Program'            Time     GC
================================
boyer               8.639  0.289
browse             10.730  0.000
chat_parser        13.237  0.000
crypt              12.320  0.000
fast_mu            14.954  0.000
flatten            13.634  0.000
meta_qsort         12.552  0.000
mu                 13.476  0.000
nreverse            6.907  0.000
poly_10            13.184  0.000
prover             14.258  0.000
qsort              15.364  0.000
queens_8           13.713  0.000
query              15.902  0.000
reducer            13.914  0.000
sendmore           17.184  0.000
simple_analyzer    13.772  0.000
tak                13.606  0.000
zebra              12.135  0.000
sieve              19.047  0.000
queens_clpfd       14.606  0.884
pingpong           22.136  0.000
fib                20.986  0.000
moded_path         20.221  0.000
det                12.476  0.000
           average 14.358  0.047
[2317/2597] Build home/library/clp/INDEX.pl
FAILED: home/library/clp/INDEX.pl home/library/clp/__INDEX.pl /tmp/swi-prolog-devel/src/build/home/library/clp/INDEX.pl /tmp/swi-prolog-devel/src/build/home/library/clp/__INDEX.pl 
cd /tmp/swi-prolog-devel/src/build/src && /tmp/swi-prolog-devel/src/build/src/swipl -f none --no-packs -t halt --home=/tmp/swi-prolog-devel/src/build/home -q -g "make_library_index('/tmp/swi-prolog-devel/src/build/home/library/clp')" --
[FATAL ERROR: at Sun Dec 26 16:59:59 2021
	WAM Table mismatch: wam_table[8(h_mpz)] == wam_table[10(h_string)]
]
[2318/2597] Building C object packages/jpl/CMakeFiles/plugin_libjpl.dir/src/main/c/jpl.c.o
ninja: build stopped: subcommand failed.

I get the WAM Table mistmatch building for arm 32 bit, both within a qemu virtual machine and real hardware. Only the PGO build fails, regular build works fine; this is with gcc 10.2.0 – can’t test with another version at the moment. I get the error with SWI-Prolog 8.4.1 and also witth 8.5.4 so it may be a gcc issue.

There have been several reports on this in the issues. Should be fixed with the latest git version. If not, please reopen the issue. Still a bit of a mystery why this suddenly surfaces.

1 Like