Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 233454 - dev-lang/qu-prolog-8.6: incompatible with 64bit systems
Summary: dev-lang/qu-prolog-8.6: incompatible with 64bit systems
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 All
: High normal
Assignee: Gentoo Prolog project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-31 06:29 UTC by Nikolay Orlyuk
Modified: 2008-08-02 19:50 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolay Orlyuk 2008-07-31 06:29:17 UTC
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;
Comment 1 Wormo (RETIRED) gentoo-dev 2008-07-31 07:01:55 UTC
Wouldn't hurt to add -amd64 and -ppc64 keywords if the code is 64-bit unsafe
Comment 2 Keri Harris (RETIRED) gentoo-dev 2008-08-02 19:50:20 UTC
qu-prolog has been keyworded -amd64 and -ppc64; longer-term I hope to see this ported to 64bit. Thanks for the bug report.

Keri