Source is totally missing 64bit compatibility. Much castings from pointer to 32bit integers. Suggesting to put -amd keyword or something like that, until source updates Reproducible: Always Steps to Reproduce: Actual Results: ... config.status: creating src/Makefile.qod config.status: creating src/Makefile.thread config.status: creating config.h make[1]: Entering directory `/var/tmp/portage/portage/dev-lang/qu-prolog-8.6/work/qp8.6/bin' chmod a+x qppp make[1]: Leaving directory `/var/tmp/portage/portage/dev-lang/qu-prolog-8.6/work/qp8.6/bin' make[1]: Entering directory `/var/tmp/portage/portage/dev-lang/qu-prolog-8.6/work/qp8.6/src' g++ -O2 -pipe -fno-strict-aliasing -Wall -D_GNU_SOURCE=1 -Wno-uninitialized -c bind.cc g++ -O2 -pipe -fno-strict-aliasing -Wall -D_GNU_SOURCE=1 -Wno-uninitialized -c check.cc g++ -O2 -pipe -fno-strict-aliasing -Wall -D_GNU_SOURCE=1 -Wno-uninitialized -c collect.cc In file included from atom_table.h:629, from check.cc:58: objects.h: In member function 'void Object::printMe_dispatch(AtomTable&, bool)': objects.h:1139: error: cast from 'Object*' to 'word32' loses precision objects.h: In member function 'void Atom::associateAtom(Atom*)': objects.h:1202: error: cast from 'Atom*' to 'word32' loses precision objects.h: In member function 'void Atom::printMe(AtomTable&, bool)': objects.h:1229: error: cast from 'Atom*' to 'word32' loses precision ... bind.h: In member function 'void Thread::updateAndTrailObject(heapobject*, Object*, u_int)': bind.h:135: error: cast from 'Object*' to 'heapobject' loses precision bind.h: In member function 'void Thread::updateAndTrailIP(heapobject*, Object*, u_int)': bind.h:153: error: cast from 'Object*' to 'heapobject' loses precision make[1]: *** [bind.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/portage/dev-lang/qu-prolog-8.6/work/qp8.6/src' make: *** [objects] Error 2 !!! ERROR: dev-lang/qu-prolog-8.6 failed. ... Expected Results: successfull emerging src/defs.h: typedef word32 heapobject;
Wouldn't hurt to add -amd64 and -ppc64 keywords if the code is 64-bit unsafe
qu-prolog has been keyworded -amd64 and -ppc64; longer-term I hope to see this ported to 64bit. Thanks for the bug report. Keri