[Pyrex] Once more, what's wrong here

Robin Becker robin at reportlab.com
Thu Jan 15 10:00:49 CET 2004


In article <40060E47.50609 at prescod.net>, Paul Prescod <paul at prescod.net>
writes
>Robin Becker wrote:
>> I asked before, but didn't get any reply.
>> 
>> Can anyone say what's wrong here? 
>
>None is slipping out because of code like this:
>
>code.putln("%s = %s" % (a, b))
>
>where "a" is None.
>
>I think I've tracked the bug down. Try this patch to "Symtab.py".
>
> Paul

Unless I've applied it wrong, it still fails. Should I be using the
latest CVS version to make this work?

I'm now getting
C:\code\reportlab\tex_wrap-1.00>xsetup.py build
running build
running build_ext
building '_tex_wrap' extension
C:\Program Files\Microsoft Visual Studio\VC98\BIN\cl.exe /c /nologo /Ox
/MD /W3 /GX /DNDEBUG -IC:\Python\include -IC:\Py
thon\PC /Tc_tex_wrap.c /Fobuild\temp.win32-2.3\Release\_tex_wrap.obj
_tex_wrap.c
_tex_wrap.c(49) : error C2059: syntax error : '}'
_tex_wrap.c(59) : error C2079: '__pyx_base' uses undefined struct
'__pyx_vtabstruct_9_tex_wrap__Box'
_tex_wrap.c(71) : error C2079: '__pyx_base' uses undefined struct
'__pyx_vtabstruct_9_tex_wrap__Box'
_tex_wrap.c(240) : error C2079: '__pyx_vtable_9_tex_wrap__Box' uses
undefined struct '__pyx_vtabstruct_9_tex_wrap__Box'
_tex_wrap.c(693) : warning C4133: '=' : incompatible types - from 'int
*' to 'struct __pyx_vtabstruct_9_tex_wrap__Box *'

_tex_wrap.c(699) : error C2115: '=' : incompatible types
_tex_wrap.c(706) : error C2115: '=' : incompatible types
error: command '"C:\Program Files\Microsoft Visual
Studio\VC98\BIN\cl.exe"' failed with exit status 2

>*** ../../OPyrex/Compiler/Symtab.py    Sun Jan 11 16:55:49 2004
>--- Symtab.py  Wed Jan 14 19:44:08 2004
>***************
>*** 592,599 ****
>               #
>               if not entry:
>                       type = PyExtensionType(name, typedef_flag, base_type)
>!                      #type.vtabstruct_cname = self.mangle(Naming.vtabstruct_p
>refix, name)
>!                      #type.vtable_cname = self.mangle(Naming.vtable_prefix, 
>name)
>                       if visibility == 'extern':
>                               type.module_name = module_name
>                       else:
>--- 592,602 ----
>               #
>               if not entry:
>                       type = PyExtensionType(name, typedef_flag, base_type)
>!                      # XXXXXXXX
>!                      type.vtabstruct_cname = self.mangle(Naming.vtabstruct_pr
>efix, name)
>!                      type.vtable_cname = self.mangle(Naming.vtable_prefix, 
>name)
>!                      type.vtabptr_cname = self.mangle(Naming.vtabptr_prefix, 
>name)
>! 
>                       if visibility == 'extern':
>                               type.module_name = module_name
>                       else:

-- 
Robin Becker




More information about the Pyrex mailing list