[reportlab-users] PyRXP compiles under Sun 64-bit with warnings, but segfaults or core dump on running
Jett Logic
jettlogic at gmail.com
Thu Nov 23 08:30:15 EST 2006
Hi,
I'm working on a Solaris 9 system where I have to compile things in
64-bit mode, with only the Sun Studio 9 compiler available.
Compiling pyRXP 1.12 (with 64-bit Python 2.5 and "cc -mt -xcode=pic32
-xarch=v9") results in a a slew of warnings about type conversions
involving int and long in pyRXP.c and pyRXPU.c After installing,
"import pyRXP; pyRXP.Parser()" fails with a segmentation fault, and
pyRXPU.Parser() with a "bus error - core dumped".
REQUEST: as a workaround are there any cc compiler options I could use
to make pyRXP.c compile correctly, given that it's confused about the
lengths of int and long under 64-bit compilation? ("#define int long"
and it compiles without error but fails on import)
Below, the compilation warnings if any devs wish to debug it on 64-bit
solaris:
> "pyRXP.c", line 846: warning: argument #2 is incompatible with prototype:
> prototype: pointer to long : "/export/home/medscan/local64/include/python2.5/dictobject.h", line 101
> argument : pointer to int
> "pyRXP.c", line 877: warning: assignment type mismatch:
> pointer to function(int) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type} "=" pointer to function(long) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}
> "pyRXP.c", line 878: warning: assignment type mismatch:
> pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, int, pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}) returning int "=" pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, long, pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}) returning int
> "pyRXP.c", line 879: warning: assignment type mismatch:
> pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, int) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type} "=" pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, long) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}
> "pyRXP.c", line 882: warning: assignment type mismatch:
> pointer to function(int) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type} "=" pointer to function(long) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}
> "pyRXP.c", line 883: warning: assignment type mismatch:
> pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, int, pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}) returning int "=" pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, long, pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}) returning int
> "pyRXP.c", line 884: warning: assignment type mismatch:
> pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, int) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type} "=" pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, long) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}
> "pyRXP.c", line 1003: warning: argument #2 is incompatible with prototype:
> prototype: pointer to long : "/export/home/medscan/local64/include/python2.5/dictobject.h", line 101
> argument : pointer to int
> "build/_pyRXPU/pyRXPU.c", line 846: warning: argument #2 is incompatible with prototype:
> prototype: pointer to long : "/export/home/medscan/local64/include/python2.5/dictobject.h", line 101
> argument : pointer to int
> "build/_pyRXPU/pyRXPU.c", line 877: warning: assignment type mismatch:
> pointer to function(int) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type} "=" pointer to function(long) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}
> "build/_pyRXPU/pyRXPU.c", line 878: warning: assignment type mismatch:
> pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, int, pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}) returning int "=" pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, long, pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}) returning int
> "build/_pyRXPU/pyRXPU.c", line 879: warning: assignment type mismatch:
> pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, int) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type} "=" pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, long) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}
> "build/_pyRXPU/pyRXPU.c", line 882: warning: assignment type mismatch:
> pointer to function(int) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type} "=" pointer to function(long) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}
> "build/_pyRXPU/pyRXPU.c", line 883: warning: assignment type mismatch:
> pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, int, pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}) returning int "=" pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, long, pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}) returning int
> "build/_pyRXPU/pyRXPU.c", line 884: warning: assignment type mismatch:
> pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, int) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type} "=" pointer to function(pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}, long) returning pointer to struct _object {long ob_refcnt, pointer to struct _typeobject {..} ob_type}
> "build/_pyRXPU/pyRXPU.c", line 1003: warning: argument #2 is incompatible with prototype:
> prototype: pointer to long : "/export/home/medscan/local64/include/python2.5/dictobject.h", line 101
> argument : pointer to int
More information about the reportlab-users
mailing list