Étienne Mollier, on 2021-12-14: > However, once the sip file is caught, the package fails to build > from source due to various errors in the generated code. The > patch also addresses one of them in its second hunk. I think I > was stuck on some "overrides" related errors, but they were > interleaved within sip output, I can send a proper log later > this week after an overnight build if needed. I forgot I had one other patch to address PyString issues, part of the ftbfs. And also forgot to mention that I had to enforce -DSIP_LIBRARIES=/usr/lib/python3/dist-packages from the cmake call in d/rules. In hope this helps, -- Étienne Mollier <emollier@emlwks999.eu> Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da Sent from /dev/pts/1, please excuse my verbosity.
--- ball.orig/source/PYTHON/pyCAPIKernel.C +++ ball/source/PYTHON/pyCAPIKernel.C @@ -78,14 +78,14 @@ if(type) { auto name = PyObject_GetAttrString(type, "__name__"); - auto sname = name ? PyString_AsString(name) : nullptr; + auto sname = name ? PyBytes_AsString(name) : nullptr; if(sname) err << sname << ": "; Py_DecRef(name); Py_DecRef(type); } // error message - auto svalue = value ? PyString_AsString(value) : nullptr; + auto svalue = value ? PyBytes_AsString(value) : nullptr; err << (svalue ? svalue : "(no error message given)"); Py_DecRef(value); @@ -121,7 +121,7 @@ auto cio = PyObject_GetAttrString(main_module_, "__BALL_CIO"); auto cio_val = PyObject_GetAttrString(cio, "getvalue"); auto cio_f = PyObject_CallFunction(cio_val, nullptr); - auto ret = std::make_pair<bool, string>(true, PyString_AsString(cio_f)); + auto ret = std::make_pair<bool, string>(true, PyBytes_AsString(cio_f)); Py_DecRef(cio_f); Py_DecRef(cio_val); Py_DecRef(cio); @@ -177,7 +177,7 @@ for (const auto& pair: args) { - auto val = PyString_FromString(pair.second.c_str()); + auto val = PyBytes_FromString(pair.second.c_str()); if (!val) { Log.error() << "[PyInterpreter] Could not create parameter " @@ -217,7 +217,7 @@ return nullptr; } - auto mod_name = PyString_FromString(name.c_str()); + auto mod_name = PyBytes_FromString(name.c_str()); PyObject* module = nullptr; if (PyDict_Contains(module_dict, mod_name)) --- ball.orig/source/PYTHON/EXTENSIONS/BALL/PDBAtom.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/PDBAtom.sip @@ -48,7 +48,7 @@ virtual bool isValid() const throw(); SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("PDBAtom ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("PDBAtom ") + sipCpp->getName() + " { " + sipCpp->getElement().getSymbol() + " @ (" + String(sipCpp->getPosition().x) + " " + String(sipCpp->getPosition().y) + " " + String(sipCpp->getPosition().z) + " }").c_str()); --- ball.orig/source/PYTHON/EXTENSIONS/BALL/angle.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/angle.sip @@ -46,6 +46,6 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(sipCpp->toRadian()).c_str()); + sipRes = PyBytes_FromString(String(sipCpp->toRadian()).c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/atom.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/atom.sip @@ -23,12 +23,12 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(*sipCpp).c_str()); + sipRes = PyBytes_FromString(String(*sipCpp).c_str()); %End SIP_PYOBJECT __repr__(); %MethodCode - sipRes = PyString_FromString(String(*sipCpp).c_str()); + sipRes = PyBytes_FromString(String(*sipCpp).c_str()); %End }; @@ -148,7 +148,7 @@ // convert the atom to a string representation SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("Atom ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("Atom ") + sipCpp->getName() + " { " + sipCpp->getElement().getSymbol() + " @ (" + String(sipCpp->getPosition().x) + " " + String(sipCpp->getPosition().y) + " " + String(sipCpp->getPosition().z) + ") }").c_str()); @@ -156,7 +156,7 @@ SIP_PYOBJECT __repr__(); %MethodCode - sipRes = PyString_FromString(String(String("Atom ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("Atom ") + sipCpp->getName() + " { " + sipCpp->getElement().getSymbol() + " @ (" + String(sipCpp->getPosition().x) + " " + String(sipCpp->getPosition().y) + " " + String(sipCpp->getPosition().z) + " }").c_str()); --- ball.orig/source/PYTHON/EXTENSIONS/BALL/atomContainer.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/atomContainer.sip @@ -69,7 +69,7 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("AtomContainer ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("AtomContainer ") + sipCpp->getName() + " { " + String(sipCpp->countAtoms()) + " atoms }").c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/bond.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/bond.sip @@ -103,6 +103,6 @@ } tmp += " }"; } - return PyString_FromString(tmp.c_str()); + return PyBytes_FromString(tmp.c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/box3.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/box3.sip @@ -29,6 +29,6 @@ tmp += String(sipCpp->getPoint().x) + " "; tmp += String(sipCpp->getPoint().y) + " "; tmp += String(sipCpp->getPoint().z) + ") }"; - sipRes = PyString_FromString(tmp.c_str()); + sipRes = PyBytes_FromString(tmp.c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/chain.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/chain.sip @@ -44,7 +44,7 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("Chain ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("Chain ") + sipCpp->getName() + " { " + String(sipCpp->countResidues()) + " residues }").c_str()); %End --- ball.orig/source/PYTHON/EXTENSIONS/BALL/file.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/file.sip @@ -66,7 +66,7 @@ case (int)std::ios::in: mode_string = "std::ios::in"; break; default: mode_string = ""; } - sipRes = PyString_FromString(mode_string); + sipRes = PyBytes_FromString(mode_string); %End %ConvertToTypeCode --- ball.orig/source/PYTHON/EXTENSIONS/BALL/fragment.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/fragment.sip @@ -18,7 +18,7 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("Fragment ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("Fragment ") + sipCpp->getName() + " { " + String(sipCpp->countAtoms()) + " atoms }").c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/molecule.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/molecule.sip @@ -40,7 +40,7 @@ SIP_PYOBJECT __repr__(); %MethodCode - sipRes = PyString_FromString(String(String("Molecule ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("Molecule ") + sipCpp->getName() + " { " + String(sipCpp->countAtoms()) + " atoms }").c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/nucleicAcid.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/nucleicAcid.sip @@ -27,14 +27,14 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("NucleicAcid ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("NucleicAcid ") + sipCpp->getName() + " { " + String(sipCpp->countNucleotides()) + " nucleotides, " + String(sipCpp->countAtoms()) + " atoms }").c_str()); %End SIP_PYOBJECT __repr__(); %MethodCode - sipRes = PyString_FromString(String(String("NucleicAcid ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("NucleicAcid ") + sipCpp->getName() + " { " + String(sipCpp->countNucleotides()) + " nucleotides, " + String(sipCpp->countAtoms()) + " atoms }").c_str()); %End --- ball.orig/source/PYTHON/EXTENSIONS/BALL/options.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/options.sip @@ -38,7 +38,7 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("Options ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("Options ") + sipCpp->getName() + " { " + String(sipCpp->getSize()) + " entries }").c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/peptideBuilder.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/peptideBuilder.sip @@ -22,7 +22,7 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString((String("{ ") + sipCpp->getType() + " " + + sipRes = PyBytes_FromString((String("{ ") + sipCpp->getType() + " " + String(sipCpp->getPhi().toDegree()) + " " + String(sipCpp->getPsi().toDegree()) + " " + String(sipCpp->getOmega().toDegree()) + " }").c_str()); --- ball.orig/source/PYTHON/EXTENSIONS/BALL/property.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/property.sip @@ -25,7 +25,7 @@ %MethodCode if(sipCpp == 0) { - sipRes = PyString_FromString(""); + sipRes = PyBytes_FromString(""); } else { @@ -60,7 +60,7 @@ output += BALL::String("Smart Object, Value: ") + BALL::String((unsigned long) &*sipCpp->getSmartObject()); break; } - sipRes = PyString_FromString(output.c_str()); + sipRes = PyBytes_FromString(output.c_str()); } %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/protein.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/protein.sip @@ -54,7 +54,7 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("Protein ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("Protein ") + sipCpp->getName() + " { " + String(sipCpp->countResidues()) + " residues }").c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/residue.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/residue.sip @@ -67,7 +67,7 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("Residue ") + sipCpp->getName() + sipCpp->getID() + sipRes = PyBytes_FromString(String(String("Residue ") + sipCpp->getName() + sipCpp->getID() + " { " + String(sipCpp->countAtoms()) + " atoms }").c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/secondaryStructure.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/secondaryStructure.sip @@ -49,13 +49,13 @@ SIP_PYOBJECT __str__(); %MethodCode - return PyString_FromString(String(String("SecondaryStructure ") + sipCpp->getName() + return PyBytes_FromString(String(String("SecondaryStructure ") + sipCpp->getName() + " { " + String(sipCpp->countResidues()) + " residues }").c_str()); %End SIP_PYOBJECT __repr__(); %MethodCode - return PyString_FromString(String(String("SecondaryStructure ") + sipCpp->getName() + return PyBytes_FromString(String(String("SecondaryStructure ") + sipCpp->getName() + " { " + String(sipCpp->countResidues()) + " residues }").c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/simpleBox3.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/simpleBox3.sip @@ -40,6 +40,6 @@ tmp += String(sipCpp->b.x) + " "; tmp += String(sipCpp->b.y) + " "; tmp += String(sipCpp->b.z) + ") }"; - sipRes = PyString_FromString(tmp.c_str()); + sipRes = PyBytes_FromString(tmp.c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/string.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/string.sip @@ -166,11 +166,11 @@ %MethodCode if (sipCpp == 0) { - sipRes = PyString_FromString(""); + sipRes = PyBytes_FromString(""); } else { - sipRes = PyString_FromString(sipCpp->c_str()); + sipRes = PyBytes_FromString(sipCpp->c_str()); } %End @@ -178,17 +178,17 @@ %MethodCode if (sipCpp == 0) { - sipRes = PyString_FromString(""); + sipRes = PyBytes_FromString(""); } else { - sipRes = PyString_FromString(sipCpp->c_str()); + sipRes = PyBytes_FromString(sipCpp->c_str()); } %End %ConvertToTypeCode if (sipIsErr == NULL) - return (PyString_Check(sipPy) || BALL_IS_SUBCLASS_INSTANCE(sipPy, String)); + return (PyBytes_Check(sipPy) || BALL_IS_SUBCLASS_INSTANCE(sipPy, String)); if (sipPy == Py_None) { @@ -196,9 +196,9 @@ return 1; } - if (PyString_Check(sipPy)) + if (PyBytes_Check(sipPy)) { - *sipCppPtr = new String(PyString_AS_STRING(sipPy)); + *sipCppPtr = new String(PyBytes_AS_STRING(sipPy)); return 1; } --- ball.orig/source/PYTHON/EXTENSIONS/BALL/system.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/system.sip @@ -67,7 +67,7 @@ SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("System ") + sipCpp->getName() + sipRes = PyBytes_FromString(String(String("System ") + sipCpp->getName() + " { " + String(sipCpp->countMolecules()) + " molecules, " + String(sipCpp->countAtoms()) + " atoms }").c_str()); %End --- ball.orig/source/PYTHON/EXTENSIONS/BALL/timeStamp.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/timeStamp.sip @@ -30,7 +30,7 @@ String usec_str(sipCpp->getMicroSeconds() / 1.0e6); time_str.append(usec_str.after(".")); - sipRes = PyString_FromString(time_str.c_str()); + sipRes = PyBytes_FromString(time_str.c_str()); %End }; @@ -61,6 +61,6 @@ String usec_str(sipCpp->getTime().getMicroSeconds() / 1.0e6); time_str.append(usec_str.after(".")); - sipRes = PyString_FromString(time_str.c_str()); + sipRes = PyBytes_FromString(time_str.c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/vector2.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/vector2.sip @@ -56,6 +56,6 @@ tmp = "("; tmp += String(sipCpp->x) + " "; tmp += String(sipCpp->y) + ")"; - sipRes = PyString_FromString(tmp.c_str()); + sipRes = PyBytes_FromString(tmp.c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/vector3.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/vector3.sip @@ -66,6 +66,6 @@ tmp += String(sipCpp->x) + " "; tmp += String(sipCpp->y) + " "; tmp += String(sipCpp->z) + ")"; - sipRes = PyString_FromString(tmp.c_str()); + sipRes = PyBytes_FromString(tmp.c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/BALL/version.sip +++ ball/source/PYTHON/EXTENSIONS/BALL/version.sip @@ -21,6 +21,6 @@ SIP_PYOBJECT __str__(); %MethodCode - return PyString_FromString(VersionInfo::getVersion()); + return PyBytes_FromString(VersionInfo::getVersion()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/VIEW/colorRGBA.sip +++ ball/source/PYTHON/EXTENSIONS/VIEW/colorRGBA.sip @@ -43,7 +43,7 @@ String s("ColorRGBA {"); s += (String) *sipCpp; s += " }"; - sipRes = PyString_FromString(s.c_str()); + sipRes = PyBytes_FromString(s.c_str()); %End SIP_PYOBJECT __repr__(); @@ -51,6 +51,6 @@ String s("ColorRGBA {"); s += (String) *sipCpp; s += " }"; - sipRes = PyString_FromString(s.c_str()); + sipRes = PyBytes_FromString(s.c_str()); %End }; --- ball.orig/source/PYTHON/EXTENSIONS/VIEW/geometricObject.sip +++ ball/source/PYTHON/EXTENSIONS/VIEW/geometricObject.sip @@ -61,7 +61,7 @@ // convert to a string representation SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("GeometricObject") + sipRes = PyBytes_FromString(String(String("GeometricObject") + " { " + " Composite: " + String((long int)sipCpp->getComposite()) + " }").c_str()); @@ -69,7 +69,7 @@ SIP_PYOBJECT __repr__(); %MethodCode - sipRes = PyString_FromString(String(String("GeometricObject") + sipRes = PyBytes_FromString(String(String("GeometricObject") + " { " + " Composite: " + String((long int)sipCpp->getComposite()) + " }").c_str()); --- ball.orig/source/PYTHON/EXTENSIONS/VIEW/gridVisualisation.sip +++ ball/source/PYTHON/EXTENSIONS/VIEW/gridVisualisation.sip @@ -38,7 +38,7 @@ // convert to a string representation SIP_PYOBJECT __str__(); %MethodCode - sipRes = PyString_FromString(String(String("GridVisualisation ") + sipRes = PyBytes_FromString(String(String("GridVisualisation ") + " { " + " Grid: " + String((long int)sipCpp->getGrid()) + " Texture: " + String(sipCpp->getTexture()) @@ -47,7 +47,7 @@ SIP_PYOBJECT __repr__(); %MethodCode - sipRes = PyString_FromString(String(String("GridVisualisation ") + sipRes = PyBytes_FromString(String(String("GridVisualisation ") + " { " + " Grid: " + String((long int)sipCpp->getGrid()) + " Texture: " + String(sipCpp->getTexture())
Attachment:
signature.asc
Description: PGP signature