Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 123461 - pearpc does not compile on amd64 and fails to compile with modular X
Summary: pearpc does not compile on amd64 and fails to compile with modular X
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-20 00:46 UTC by John Sonnenschein
Modified: 2007-05-20 17:45 UTC (History)
6 users (show)

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


Attachments
patches it to make it 64-bit clean (pearpc-0.4-make-64-good.patch,2.38 KB, patch)
2006-02-20 00:47 UTC, John Sonnenschein
Details | Diff
an updated ebuild to add the 64-bit patch and fix the virtual/x11 dependency (pearpc-0.4.ebuild,2.69 KB, patch)
2006-02-20 00:48 UTC, John Sonnenschein
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John Sonnenschein 2006-02-20 00:46:23 UTC
It doesn't compile. It's not 64 bit clean
Comment 1 John Sonnenschein 2006-02-20 00:47:22 UTC
Created attachment 80251 [details, diff]
patches it to make it 64-bit clean

This patch will fix it
Comment 2 John Sonnenschein 2006-02-20 00:48:59 UTC
Created attachment 80252 [details, diff]
an updated ebuild to add the 64-bit patch and fix the virtual/x11 dependency

applies the patch and fixes the modular X dependency failure
Comment 3 John Sonnenschein 2006-02-20 00:50:10 UTC
It's not 64 bit clean and it fails with modular X. It also has no maintainer, so I fixed the problems
Comment 4 Simon Stelling (RETIRED) gentoo-dev 2006-02-20 08:43:40 UTC
well, the problem still exists in the tree
Comment 5 Martin Mlynar 2006-03-26 10:39:43 UTC
I'm afraid, that this patch works only when JIT is disabled. When I try to emerge pearpc with jit flag, I get this:

gmake[4]: Entering directory `/var/tmp/portage/pearpc-0.4/work/pearpc-0.4/src/cpu/cpu_jitc_x86'
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I ../..    -march=k8 -O2 -pipe -msse3 -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_REENTRANT -MT ppc_alu.o -MD -MP -MF ".deps/ppc_alu.Tpo" -c -o ppc_alu.o ppc_alu.cc; \
then mv -f ".deps/ppc_alu.Tpo" ".deps/ppc_alu.Po"; else rm -f ".deps/ppc_alu.Tpo"; exit 1; fi
x86asm.h: In function 'byte* x86_mem2(byte*, NativeReg, const void*)':
x86asm.h:829: error: cast from 'const void*' to 'uint32' loses precision
x86asm.h: In function 'byte* x86_mem2(byte*, const void*)':
x86asm.h:836: error: cast from 'const void*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_crand()':
ppc_alu.cc:977: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:979: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:981: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:985: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_crandc()':
ppc_alu.cc:1008: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1010: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1012: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1016: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_creqv()':
ppc_alu.cc:1041: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1044: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1046: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1048: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1051: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1054: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1056: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1059: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_crnand()':
ppc_alu.cc:1085: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1087: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1089: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1093: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_crnor()':
ppc_alu.cc:1117: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1119: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1122: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_cror()':
ppc_alu.cc:1146: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1148: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1151: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_crorc()':
ppc_alu.cc:1175: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1177: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1179: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1183: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_crxor()':
ppc_alu.cc:1208: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1211: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1213: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1215: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1218: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1221: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1223: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:1226: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc: In function 'JITCFlow ppc_opc_gen_srawix()':
ppc_alu.cc:2367: error: cast from 'uint32*' to 'uint32' loses precision
ppc_alu.cc:2377: error: cast from 'uint32*' to 'uint32' loses precision
gmake[4]: *** [ppc_alu.o] Error 1
gmake[4]: Leaving directory `/var/tmp/portage/pearpc-0.4/work/pearpc-0.4/src/cpu/cpu_jitc_x86'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/var/tmp/portage/pearpc-0.4/work/pearpc-0.4/src/cpu'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/var/tmp/portage/pearpc-0.4/work/pearpc-0.4/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/var/tmp/portage/pearpc-0.4/work/pearpc-0.4'
make: *** [all] Error 2
Comment 6 Benjamin Hodgetts 2006-07-06 14:14:18 UTC
Not the same error as above but close.

if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT debug.o -MD -MP -MF ".deps/debug.Tpo" -c -o debug.o debug.cc; \
        then mv -f ".deps/debug.Tpo" ".deps/debug.Po"; else rm -f ".deps/debug.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT endianess.o -MD -MP -MF ".deps/endianess.Tpo" -c -o endianess.o endianess.cc; \
        then mv -f ".deps/endianess.Tpo" ".deps/endianess.Po"; else rm -f ".deps/endianess.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT except.o -MD -MP -MF ".deps/except.Tpo" -c -o except.o except.cc; \
        then mv -f ".deps/except.Tpo" ".deps/except.Po"; else rm -f ".deps/except.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT snprintf.o -MD -MP -MF ".deps/snprintf.Tpo" -c -o snprintf.o snprintf.cc; \
        then mv -f ".deps/snprintf.Tpo" ".deps/snprintf.Po"; else rm -f ".deps/snprintf.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT str.o -MD -MP -MF ".deps/str.Tpo" -c -o str.o str.cc; \
        then mv -f ".deps/str.Tpo" ".deps/str.Po"; else rm -f ".deps/str.Tpo"; exit 1; fi
data.cc: In member function 
Comment 7 Benjamin Hodgetts 2006-07-06 14:14:18 UTC
Not the same error as above but close.

if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT debug.o -MD -MP -MF ".deps/debug.Tpo" -c -o debug.o debug.cc; \
        then mv -f ".deps/debug.Tpo" ".deps/debug.Po"; else rm -f ".deps/debug.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT endianess.o -MD -MP -MF ".deps/endianess.Tpo" -c -o endianess.o endianess.cc; \
        then mv -f ".deps/endianess.Tpo" ".deps/endianess.Po"; else rm -f ".deps/endianess.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT except.o -MD -MP -MF ".deps/except.Tpo" -c -o except.o except.cc; \
        then mv -f ".deps/except.Tpo" ".deps/except.Po"; else rm -f ".deps/except.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT snprintf.o -MD -MP -MF ".deps/snprintf.Tpo" -c -o snprintf.o snprintf.cc; \
        then mv -f ".deps/snprintf.Tpo" ".deps/snprintf.Po"; else rm -f ".deps/snprintf.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT str.o -MD -MP -MF ".deps/str.Tpo" -c -o str.o str.cc; \
        then mv -f ".deps/str.Tpo" ".deps/str.Po"; else rm -f ".deps/str.Tpo"; exit 1; fi
data.cc: In member function virtual void Array::forceSetByIdx(int, Object*):
data.cc:424: warning: comparison between signed and unsigned integer expressions
data.cc: In member function virtual void* AVLTree::insert(Object*):
data.cc:1461: warning: dereferencing type-punned pointer will break strict-aliasing rules
data.cc:1463: warning: dereferencing type-punned pointer will break strict-aliasing rules
data.cc:1468: warning: dereferencing type-punned pointer will break strict-aliasing rules
data.cc:1470: warning: dereferencing type-punned pointer will break strict-aliasing rules
debug.cc: In function void debugDumpMem(void*, int):
debug.cc:26: warning: comparison between signed and unsigned integer expressions
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT stream.o -MD -MP -MF ".deps/stream.Tpo" -c -o stream.o stream.cc; \
        then mv -f ".deps/stream.Tpo" ".deps/stream.Po"; else rm -f ".deps/stream.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT strtools.o -MD -MP -MF ".deps/strtools.Tpo" -c -o strtools.o strtools.cc; \
        then mv -f ".deps/strtools.Tpo" ".deps/strtools.Po"; else rm -f ".deps/strtools.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT thread.o -MD -MP -MF ".deps/thread.Tpo" -c -o thread.o thread.cc; \
        then mv -f ".deps/thread.Tpo" ".deps/thread.Po"; else rm -f ".deps/thread.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I ..    -march=athlon64 -O2 -pipe -msse3 -ftracer -Wundef -Wall -Woverloaded-virtual -fsigned-char -O2 -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT crc32.o -MD -MP -MF ".deps/crc32.Tpo" -c -o crc32.o crc32.cc; \
        then mv -f ".deps/crc32.Tpo" ".deps/crc32.Po"; else rm -f ".deps/crc32.Tpo"; exit 1; fi
crc32.cc: In function uint32 ether_crc(size_t, const byte*):
crc32.cc:109: error: cast from const byte* to uint32 loses precision
gmake[3]: *** [crc32.o] Error 1
gmake[3]: Leaving directory `/var/tmp/portage/pearpc-0.4/work/pearpc-0.4/src/tools'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/var/tmp/portage/pearpc-0.4/work/pearpc-0.4/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/var/tmp/portage/pearpc-0.4/work/pearpc-0.4'
make: *** [all] Error 
Comment 8 Simon Stelling (RETIRED) gentoo-dev 2006-08-24 15:01:02 UTC
Until somebody can provide a fix for the problems described in the last two comments, this will stay a WONTFIX, I'm sorry.
Comment 9 Matthias Vill 2006-08-27 03:04:40 UTC
As far as I know 0.3.1 is compiling though. At least i have it installed on my amd64-system. Why has it been marked -amd64?
All those errors seem to be 0.4.0 specific.
Comment 10 Simon Stelling (RETIRED) gentoo-dev 2006-08-27 03:09:23 UTC
heh, because i suck. re-keyworded, sorry for the nuisance.
Comment 11 Patrizio Bassi 2007-01-04 04:45:09 UTC
is upstream dead?
Comment 12 Robert Carboneau 2007-05-20 17:45:46 UTC
Isn't the JIT code x86-only? Shouldn't the ebuild reject the jit flag on other arches anyway?