This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: cmpfunc in Python 3.0.1 windows installer
Type: behavior Stage:
Components: Versions: Python 3.0
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: Nigel Galloway, amaury.forgeotdarc, loewis, terry.reedy
Priority: normal Keywords:

Created on 2009-03-06 13:22 by Nigel Galloway, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
BuildLog.htm Nigel Galloway, 2009-03-06 13:22 Output Log
Messages (6)
msg83242 - (view) Author: Nigel Galloway (Nigel Galloway) Date: 2009-03-06 13:22
C:\Users\Nigel\myPython\iajaar>C:\Users\Nigel\swigwin-1.3.38\swig -
c++ -python -py3  NigelzGLPK.swg

generated a C++ wrapper and a Python file. When I attempted to compile 
the wrapper against Python 3.0.1 it failed see the output log at the 
end of this message.


I decided to modify object.h from C:\Python30\include:

typedef PyObject *(*getattrofunc)(PyObject *, PyObject *);
typedef int (*setattrfunc)(PyObject *, char *, PyObject *);
typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *);
typedef PyObject *(*reprfunc)(PyObject *);


typedef PyObject *(*getattrofunc)(PyObject *, PyObject *);
typedef int (*setattrfunc)(PyObject *, char *, PyObject *);
typedef int (*cmpfunc)(PyObject *, PyObject *);
typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *);
typedef PyObject *(*reprfunc)(PyObject *);


adding the typedef for cmpfunc. It then compiles fine, AND appears to 
work.

C:\Users\Nigel\myPython\iajaar\Python>c:\Python30\python 
sample.iajaar.3.py
*     0: obj =  0.000000000e+000  infeas = 0.000e+000 (0)
*     2: obj =  7.333333333e+002  infeas = 0.000e+000 (0)
OPTIMAL SOLUTION FOUND
Z =  733.333333333 ; x1 =  33.3333333333 ; x2 =  66.6666666667 ; x3 =  
0.0


Is this good, or should I do something else?



Compile Log:

Build Log      Rebuild started: Project: nigelzGLPK, Configuration: 
Release|Win32
 Command Lines      Creating temporary 
file "c:\Users\Nigel\Documents\Visual Studio 2008
\Projects\nigelzGLPK\nigelzGLPK\Release\RSP00001137523960.rsp" with 
contents
[
/O2 /Oi /GL /I "C:\Users\Nigel\Documents\Visual Studio 2008
\Projects\glpk\include" /I "C:\Python30
\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "NIGELZG
LPK_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /FD /EHsc /MD /Gy 
/Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Zi /TP "..\..\..\..\..\myP
ython\iajaar\NigelzGLPK_wrap.cxx"
]
Creating command line "cl.exe @"c:\Users\Nigel\Documents\Visual Studio 
2008
\Projects\nigelzGLPK\nigelzGLPK\Release\RSP00001137523960.rsp" /nologo 
/errorReport:prompt"
 Output Window      Compiling...
NigelzGLPK_wrap.cxx
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1772) : error 
C2065: 'cmpfunc' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1772) : error 
C2146: syntax error : missing '}' before 
identifier 'SwigPyObject_compare'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1772) : error 
C2146: syntax error : missing ';' before 
identifier 'SwigPyObject_compare'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1817) : error 
C2059: syntax error : '}'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1818) : error 
C2065: 'tmp' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1825) : error 
C2059: syntax error : 'return'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1943) : error 
C2065: 'cmpfunc' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1943) : error 
C2146: syntax error : missing '}' before 
identifier 'SwigPyPacked_compare'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1943) : error 
C2146: syntax error : missing ';' before 
identifier 'SwigPyPacked_compare'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1988) : error 
C2059: syntax error : '}'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1989) : error 
C2065: 'tmp' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1996) : error 
C2059: syntax error : 'return'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1997) : error 
C2059: syntax error : '}'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1997) : error 
C2143: syntax error : missing ';' before '}'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(1997) : error 
C2059: syntax error : '}'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(2001) : error 
C2143: syntax error : missing ';' before '{'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(2001) : error 
C2447: '{' : missing function header (old-style formal list?)
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(2400) : error 
C3861: 'SwigPyPacked_New': identifier not found
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(2635) : error 
C2059: syntax error : '}'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(2635) : error 
C2143: syntax error : missing ';' before '}'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(2635) : error 
C2059: syntax error : '}'
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(2674) : error 
C2065: 'swig_types' : undeclared identifier
c:\users\nigel\mypython\iajaar\iajaar.h(59) : warning C4290: C++ 
exception specification ignored except to indicate a function is not 
__declspec(nothrow)
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3176) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3191) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3207) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3226) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3253) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3277) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3277) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3296) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3318) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3324) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3340) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3346) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3362) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3368) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3383) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3399) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3415) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3442) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3461) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3476) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3492) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3508) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3535) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3560) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3587) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3606) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3621) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3637) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3653) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3680) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3705) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3732) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3757) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3784) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3809) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3836) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3861) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3888) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3913) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3940) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3965) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(3992) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4017) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4044) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4069) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4096) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4121) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4148) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4173) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4200) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4225) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4252) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4277) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4282) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4311) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4317) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4330) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4345) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4361) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4377) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4404) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4429) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4456) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4481) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4508) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4533) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4560) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4585) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4612) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4637) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4664) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4689) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4716) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4741) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4768) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4793) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4820) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4845) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4872) : error 
C2065: 'swig_types' : undeclared identifier
..\..\..\..\..\myPython\iajaar\NigelzGLPK_wrap.cxx(4872) : fatal error 
C1003: error count exceeds 100; stopping compilation
 Results      Build log was saved 
at "file://c:\Users\Nigel\Documents\Visual Studio 2008
\Projects\nigelzGLPK\nigelzGLPK\Release\BuildLog.htm"
nigelzGLPK - 102 error(s), 1 warning(s)
msg83246 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2009-03-06 15:35
This is not a bug in Python; apparently, SWIG hasn't been ported to
Python 3.0.1.
msg83247 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2009-03-06 15:42
I'm sure swig was ported to python 3.0.
Is 3.0.1 allowed to break code developed with 3.0?

http://svn.python.org/view/python/branches/release30-maint/Include/object.h?r1=69215&r2=69221
msg83253 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2009-03-06 19:34
> I'm sure swig was ported to python 3.0.
> Is 3.0.1 allowed to break code developed with 3.0?

Of course it was! Removal of cmp support was a deliberate
breakage made in 3.0.1, see issue1717. In any case,
it isn't coming back.
msg83432 - (view) Author: Nigel Galloway (Nigel Galloway) Date: 2009-03-10 14:05
Not quite an answer to the question. I have built this wrapper with 
the change to Python indicated. It seems to work. It does not complain 
about unresolved references. Is this satisfactory for 3.0.1, with 
perhaps a change to SWIG from 3.1. Or must I obtain Python 3.0 and 
start again?
msg83553 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2009-03-14 00:44
This development issues tracker is for issues that might result in
changes in future Python releases.  This issue was properly closed and
in the absence of a new proposal for future change, should have stayed
closed, even with the addition of a comment.

The only-half removal of the cmp family in 3.0 was an error.  For better
or for worse, and after much discussion, the developers decided to fix
the error immediately in 3.0.1 in order to prevent more error-dependent
portings that would need further fix in 3.1.  In other words, better a
little pain now than more pain in the future.

What you do with your installation is up to you.  If adding a line works
for you as a temporary measure, great.  Or help the SWIG folks to finish
the port to Python 3 as intended and as it is in 3.0.1 and will be in
the future.

Further current-release usage questions should be directed to the
python-list (or c.l.p or the gmane mirror) or other forums.

PS. Your original post would have been more readable with the long error
log severely snipped to just show the essential point.
History
Date User Action Args
2022-04-11 14:56:46adminsetgithub: 49681
2009-03-14 00:44:46terry.reedysetstatus: open -> closed
nosy: + terry.reedy
messages: + msg83553

2009-03-10 14:05:52Nigel Gallowaysetstatus: closed -> open

messages: + msg83432
2009-03-06 19:34:55loewissetmessages: + msg83253
2009-03-06 15:42:09amaury.forgeotdarcsetnosy: + amaury.forgeotdarc
messages: + msg83247
2009-03-06 15:35:40loewissetstatus: open -> closed
resolution: not a bug
messages: + msg83246
nosy: + loewis
2009-03-06 13:22:31Nigel Gallowaycreate