#1145402 ifcopenshell: FTBFS: /<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:5557:41: error: 'PyInt_AsLong' was not declared in this scope; did you mean 'PyLong_AsLong'?

Package:
src:ifcopenshell
Source:
src:ifcopenshell
Submitter:
Santiago Vila
Date:
2026-09-16 08:41:04 UTC
Severity:
normal
Tags:
#1145402#5
Date:
2026-08-24 16:12:07 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202608/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:ifcopenshell, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]
/<<PKGBUILDDIR>>/src/ifcwrap/../serializers/SvgSerializer.h: In member function ‘void SvgSerializer::addDrawing(const gp_Pnt&, const gp_Dir&, const gp_Dir&, const std::string&, bool)’:
/<<PKGBUILDDIR>>/src/ifcwrap/../serializers/SvgSerializer.h:759:125: warning: missing initializer for member ‘vertical_section::scale’ [-Wmissing-field-initializers]
  759 |                 deferred_section_data_->push_back(vertical_section{ gp_Pln(gp_Ax3(pos, dir, ref)), name, include_projection });
      |                                                                                                                             ^
/<<PKGBUILDDIR>>/src/ifcwrap/../serializers/SvgSerializer.h:759:125: warning: missing initializer for member ‘vertical_section::size’ [-Wmissing-field-initializers]
/usr/bin/x86_64-linux-gnu-g++ -g -O2 -ffile-prefix-map=/<<PK [too-long-redacted] x86_64-linux-gnu/libTKDEIGES.so
make[4]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/3.13'
[100%] Built target IfcSimplifiedAlignment
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘T cast_pyobject(PyObject*) [with T = int; PyObject = _object]’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:5557:41: error: ‘PyInt_AsLong’ was not declared in this scope; did you mean ‘PyLong_AsLong’?
 5557 |                 return static_cast<int>(PyInt_AsLong(element));
      |                                         ^~~~~~~~~~~~
      |                                         PyLong_AsLong
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* pythonize(const int&)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:5649:70: error: ‘PyInt_FromLong’ was not declared in this scope; did you mean ‘PyLong_FromLong’?
 5649 |         PyObject* pythonize(const int& t)                   { return PyInt_FromLong(t);                                                                  }
      |                                                                      ^~~~~~~~~~~~~~
      |                                                                      PyLong_FromLong
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* pythonize(const unsigned int&)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:5650:70: error: ‘PyInt_FromLong’ was not declared in this scope; did you mean ‘PyLong_FromLong’?
 5650 |         PyObject* pythonize(const unsigned int& t)          { return PyInt_FromLong(t);                                                                  }
      |                                                                      ^~~~~~~~~~~~~~
      |                                                                      PyLong_FromLong
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘const ifcopenshell::geometry::taxonomy::geom_item::ptr& ifcopenshell_geometry_taxonomy_collection___getitem__(const ifcopenshell::geometry::taxonomy::collection*, int)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:6391:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 6391 |                 if (index < 0 || index >= self->children.size()) {
      |                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘const ifcopenshell::geometry::taxonomy::edge::ptr& ifcopenshell_geometry_taxonomy_loop___getitem__(const ifcopenshell::geometry::taxonomy::loop*, int)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:6403:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::edge>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::edge> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 6403 |                 if (index < 0 || index >= self->children.size()) {
      |                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘const ifcopenshell::geometry::taxonomy::loop::ptr& ifcopenshell_geometry_taxonomy_face___getitem__(const ifcopenshell::geometry::taxonomy::face*, int)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:6412:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::loop>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::loop> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 6412 |                 if (index < 0 || index >= self->children.size()) {
      |                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘const ifcopenshell::geometry::taxonomy::face::ptr& ifcopenshell_geometry_taxonomy_shell___getitem__(const ifcopenshell::geometry::taxonomy::shell*, int)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:6424:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::face>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::face> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 6424 |                 if (index < 0 || index >= self->children.size()) {
      |                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘const ifcopenshell::geometry::taxonomy::shell::ptr& ifcopenshell_geometry_taxonomy_solid___getitem__(const ifcopenshell::geometry::taxonomy::solid*, int)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:6433:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::shell>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::shell> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 6433 |                 if (index < 0 || index >= self->children.size()) {
      |                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘const ifcopenshell::geometry::taxonomy::geom_item::ptr& ifcopenshell_geometry_taxonomy_loft___getitem__(const ifcopenshell::geometry::taxonomy::loft*, int)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:6445:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 6445 |                 if (index < 0 || index >= self->children.size()) {
      |                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘const ifcopenshell::geometry::taxonomy::geom_item::ptr& ifcopenshell_geometry_taxonomy_boolean_result___getitem__(const ifcopenshell::geometry::taxonomy::boolean_result*, int)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:6472:40: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 6472 |                 if (index < 0 || index >= self->children.size()) {
      |                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: At global scope:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:8102:12: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
 8102 | SWIGINTERN char const *const IfcUtil_IfcBaseClass_get_argument_type(IfcUtil::IfcBaseClass const *self,unsigned int i){
      |            ^~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘std::vector<std::__cxx11::basic_string<char> > IfcParse_enumeration_type_argument_types(IfcParse::enumeration_type*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:8265:138: warning: unused parameter ‘self’ [-Wunused-parameter]
 8265 | SWIGINTERN std::vector< std::string,std::allocator< std::string > > IfcParse_enumeration_type_argument_types(IfcParse::enumeration_type *self){
      |                                                                                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* get_info_cpp(IfcUtil::IfcBaseClass*, bool)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:8409:38: warning: unused variable ‘attr_type’ [-Wunused-variable]
 8409 |                                 auto attr_type = *dit
      |                                      ^~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_Triangulation_materials(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:17982:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::style> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
17982 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_collection_children_(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:35179:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
35179 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_loop_children_(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:35965:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::edge>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::edge> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
35965 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_face_children_(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:36464:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::loop>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::loop> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
36464 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_shell_children_(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:37009:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::face>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::face> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
37009 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_solid_children_(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:37353:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::shell>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::shell> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
37353 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_loft_children_(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:37902:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
37902 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_boolean_result_children_(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:42558:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item>, std::allocator<std::shared_ptr<ifcopenshell::geometry::taxonomy::geom_item> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
42558 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_tree_styles(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:55004:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::shared_ptr<ifcopenshell::geometry::taxonomy::style> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
55004 |     for (int i = 0; i < (*result).size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx: In function ‘PyObject* _wrap_simple_type_declared_type(PyObject*, PyObject*)’:
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:83834:17: error: ‘SWIG_Python_str_FromChar’ was not declared in this scope
83834 |     resultobj = SWIG_Python_str_FromChar(data_type_strings[(int)result]);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h: In instantiation of ‘IfcGeom::Element* IfcGeom::Iterator::decorate_with_cache_(GeometrySerializer::read_type, const std::string&, const std::string&, Fn) [with Fn = IfcGeom::Iterator::create_element_(ifcopenshell::geometry::Converter*, ifcopenshell::geometry::Settings, {anonymous}::geometry_conversion_result*)::<lambda()>; std::string = std::__cxx11::basic_string<char>]’:
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:540:88:   required from here
  540 |                         IfcGeom::BRepElement* brep = static_cast<IfcGeom::BRepElement*>(decorate_with_cache_(GeometrySerializer::READ_BREP, (std::string)product->get("GlobalId"), std::to_string(rep->item->instance->as<IfcUtil::IfcBaseEntity>()->id()), [kernel, settings, product, place, rep]() {
      |                                                                                         ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  541 |                                 return kernel->create_brep_for_representation_and_product(rep->item, product, place);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  542 |                         }));
      |                         ~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:77: warning: unused parameter ‘rt’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:100: warning: unused parameter ‘product_guid’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                                                                 ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:133: warning: unused parameter ‘representation_id’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                                                                                                  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h: In instantiation of ‘IfcGeom::Element* IfcGeom::Iterator::decorate_with_cache_(GeometrySerializer::read_type, const std::string&, const std::string&, Fn) [with Fn = IfcGeom::Iterator::create_element_(ifcopenshell::geometry::Converter*, ifcopenshell::geometry::Settings, {anonymous}::geometry_conversion_result*)::<lambda()>; std::string = std::__cxx11::basic_string<char>]’:
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:561:90:   required from here
  561 |                                 IfcGeom::BRepElement* brep2 = static_cast<IfcGeom::BRepElement*>(decorate_with_cache_(GeometrySerializer::READ_BREP, (std::string)product2->get("GlobalId"), std::to_string(rep->item->instance->as<IfcUtil::IfcBaseEntity>()->id()), [kernel, settings, product2, place2, brep]() {
      |                                                                                                  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  562 |                                         return kernel->create_brep_for_processed_representation(product2, place2, brep);
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  563 |                                 }));
      |                                 ~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:77: warning: unused parameter ‘rt’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:100: warning: unused parameter ‘product_guid’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                                                                 ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:133: warning: unused parameter ‘representation_id’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                                                                                                  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h: In instantiation of ‘IfcGeom::Element* IfcGeom::Iterator::decorate_with_cache_(GeometrySerializer::read_type, const std::string&, const std::string&, Fn) [with Fn = IfcGeom::Iterator::process_based_on_settings(ifcopenshell::geometry::Settings, IfcGeom::BRepElement*, IfcGeom::TriangulationElement*)::<lambda()>; std::string = std::__cxx11::basic_string<char>]’:
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:594:32:   required from here
  594 |                                 return decorate_with_cache_(GeometrySerializer::READ_TRIANGULATION, elem->guid(), gid2, [elem, previous]() {
      |                                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  595 |                                         try {
      |                                         ~~~~~
  596 |                                                 if (!previous) {
      |                                                 ~~~~~~~~~~~~~~~~
  597 |                                                         return new TriangulationElement(*elem);
      |                                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  598 |                                                 } else {
      |                                                 ~~~~~~~~
  599 |                                                         return new TriangulationElement(*elem, previous->geometry_pointer());
      |                                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  600 |                                                 }
      |                                                 ~
  601 |                                         } catch (...) {
      |                                         ~~~~~~~~~~~~~~~
  602 |                                                 Logger::Message(Logger::LOG_ERROR, "Getting a triangulation element from model failed.");
      |                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  603 |                                         }
      |                                         ~
  604 |                                         return (TriangulationElement*)nullptr;
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  605 |                                 });
      |                                 ~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:77: warning: unused parameter ‘rt’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:100: warning: unused parameter ‘product_guid’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                                                                 ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/Iterator.h:463:133: warning: unused parameter ‘representation_id’ [-Wunused-parameter]
  463 |                 Element* decorate_with_cache_(GeometrySerializer::read_type rt, const std::string& product_guid, const std::string& representation_id, Fn f) {
      |                                                                                                                  ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/kernels/opencascade/IfcGeomTree.h: In instantiation of ‘std::unique_ptr<BVH_BoxSet<double, 3> > IfcGeom::impl::tree<T>::build_box_set(const std::vector<T>&) const [with T = const IfcUtil::IfcBaseEntity*]’:
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/kernels/opencascade/IfcGeomTree.h:1028:68:   required from ‘std::vector<IfcGeom::clash> IfcGeom::impl::tree<T>::clash_intersection_many(const std::vector<T>&, const std::vector<T>&, double, bool) const [with T = const IfcUtil::IfcBaseEntity*]’
 1028 |                 std::unique_ptr<BVH_BoxSet<double, 3>> box_set_a = build_box_set(set_a);
      |                                                                    ^~~~~~~~~~~~~
/<<PKGBUILDDIR>>/debian/build/3.13/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:6767:52:   required from here
 6767 |                return self->clash_intersection_many(set_a_entities, set_b_entities, tolerance, check_all);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/ifcwrap/../ifcgeom/kernels/opencascade/IfcGeomTree.h:988:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<const IfcUtil::IfcBaseEntity*, std::allocator<const IfcUtil::IfcBaseEntity*> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  988 |                 for (int i=0; i<elements.size(); ++i) {
      |                               ~^~~~~~~~~~~~~~~~
make[4]: *** [ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/build.make:82: ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx.o] Error 1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/3.13'
make[3]: *** [CMakeFiles/Makefile2:1586: ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/all] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/3.13'
make[2]: *** [Makefile:159: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/debian/build/3.13'
dh_auto_build: error: cd debian/build/3.13 && make -j2 INSTALL="install --strip-program=true" VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:34: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:21: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------

#1145402#10
Date:
2026-08-26 06:42:30 UTC
From:
To:
Hi,

The compilation problem is due to the removal of the Python 2 compatibility macros in version 4.5.0. According to the SWIG authors, these macros were retained in the generated code (pyhead.swg) solely for user typemaps. Any typemap using these macros must be updated to call the Python 3 C API directly.

I have proposed a patch via a merge request on Salsa:
https://salsa.debian.org/science-team/ifcopenshell/-/merge_requests/1

Unfortunately, the package still FTBFS on my unstable system, for reasons unrelated to SWIG. At least, the SWIG bindings should build fine with the patch.

Upstream has already released version 0.8.5. I checked their Git repository [1] and it seems that the fix for SWIG 4.5.0 is not yet there.

Best,

Rafael Laboissière

[1] https://github.com/ifcopenshell/ifcopenshell

#1145402#19
Date:
2026-09-10 18:19:43 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
ifcopenshell, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1145402@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Anton Gladky <gladk@debian.org> (supplier of updated ifcopenshell package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 10 Sep 2026 20:04:00 +0200
Source: ifcopenshell
Architecture: source
Version: 0.8.1+dfsg1-7
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Anton Gladky <gladk@debian.org>
Closes: 1145402
Changes:
 ifcopenshell (0.8.1+dfsg1-7) unstable; urgency=medium
 .
   [ Rafael Laboissière ]
   * [7bafa8e] Add patch for fixing FTBFS with swig 4.5.0 (Closes: #1145402)
Checksums-Sha1:
 0aa95d1fd4e065704f6190c2bc2cefec8af50d1f 2636 ifcopenshell_0.8.1+dfsg1-7.dsc
 790826ae80e0aec03d7de61c856f33a1c916f06e 19096 ifcopenshell_0.8.1+dfsg1-7.debian.tar.xz
 84202bcd30e0c439738fef1db307d4503e716812 14244 ifcopenshell_0.8.1+dfsg1-7_source.buildinfo
Checksums-Sha256:
 64a62f1f6f48677c7cd90852b4e24f92367f145135c22cdf5be0778245453b23 2636 ifcopenshell_0.8.1+dfsg1-7.dsc
 0454daab0a3641cd9e3de99fe01e5abdccdfad6b8c5ca4422a2165e81bffeed6 19096 ifcopenshell_0.8.1+dfsg1-7.debian.tar.xz
 36357b67e10f240ef88ec305c72842cee163d2f7682498ed442b9fe5452c83c1 14244 ifcopenshell_0.8.1+dfsg1-7_source.buildinfo
Files:
 bc14bc28ce923fe222dd14b00f63ebc3 2636 science optional ifcopenshell_0.8.1+dfsg1-7.dsc
 47bb40ba6b6345d2cd2b11f6a023fa63 19096 science optional ifcopenshell_0.8.1+dfsg1-7.debian.tar.xz
 c35214cfa718c0b95e8d03db1f5d5c25 14244 science optional ifcopenshell_0.8.1+dfsg1-7_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEu71F6oGKuG/2fnKF0+Fzg8+n/wYFAmqi8tQACgkQ0+Fzg8+n
/wbgMhAAko1RE7sZhnyNFrtJbdPn24fVy7uoKcixV33wZIT7q6ba5JslISLyd7Rf
tbeCPAJy4jYGbRl92J7y6lRyd5LRMU873UF5pVgLLQfkhUak+xf9Qtq6iu8njVeC
f4UxKSvlo9fHuu3jrQOvX+2l90AosPekuF8JGl6llsobMP1C/NNl5m6kmoVtjfwm
0KDkdEl09cnmMm6rbRIbelzGx6dpRflOGtTgNZGwKavhlBUjErbeYCl1Ejz23nV0
Gkel4Ocwc48AlK7epf4wCeNtIb5DQqrUmpzd0H1AMKt7+hO6sDkHAC1lycRmEWDM
rQ9s6vuroRlRmfn3LeGPf4GqkmHE0az4QDvzY4LPS7cySnJlcT4LF6gHlo38g/T1
uZZaz0OYebO21Txb+p1U3w1Jvc37ncY2PC+6CJpoUvciQFEtfhSJPJJdDyRwDfZQ
PM58gK4JCczrdx+o5JJcCV6pjFZfSXTS3x0kW6OIc9BSRtwya0XgD0rqgRKpFpCo
d1gyNglAaDL/OLlPw0G1YbmYcd39JvbYkHYBoFbT6X3XhW2iSaLYdXnl0+3V8gdJ
ZZkanb34yHi93HjK1W+Jam+MFgq5NMv8gm5slntFxJpdY5K02wqTwmXlcnB8xRVO
L92WxrvdGMtIkUrCBaN42mpJ1MDtDWWgVqVFirsBcHVzcM9pO44=
=5c/+
-----END PGP SIGNATURE-----

#1145402#24
Date:
2026-09-15 18:26:46 UTC
From:
To:
the patch is not complete, now fails with:

[...]
/build/reproducible-path/ifcopenshell-0.8.1+dfsg1/debian/build/3.14/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:
In function ‘PyObject* _wrap_simple_type_declared_type(PyObject*,
PyObject*)’:
/build/reproducible-path/ifcopenshell-0.8.1+dfsg1/debian/build/3.14/ifcwrap/CMakeFiles/ifcopenshell_wrapper.dir/IfcPythonPYTHON_wrap.cxx:83834:17:
error: ‘SWIG_Python_str_FromChar’ was not declared in this scope
83834 |     resultobj =
SWIG_Python_str_FromChar(data_type_strings[(int)result]);
       |                 ^~~~~~~~~~~~~~~~~~~~~~~~

#1145402#33
Date:
2026-09-16 08:40:14 UTC
From:
To:
user debian-python@lists.debian.org
usertags 1145402 python3.15
tags 1145402 patch
thanks

Hi!

While rebuilding the python related packages against the Python 3.15rc2
version I ran into this FTBFS.

To solve the problem, I had to add the missing parts of upstream patch
3bb8b0cb9a30f7d9cc5287c2aec3620724dfd9b8 Support swig 4.5 (#9324)

Additionally, I had trouble building this package because it uses too
many workers that are memory hungry in arm64, using guess-concurrency to
limit them makes this problem go away.

I've applied these fixes in the sandbox [1] to verify that it builds
successfully, these should be applied in Debian to get the package back
to a healthy state.

Happy hacking,

[1]: https://debusine.debian.net/debian/r-python-python3.15/