boostorg / python

Boost.org python module
http://boostorg.github.io/python
Boost Software License 1.0
468 stars 201 forks source link

1.75.0: build fails #350

Closed kloczek closed 3 years ago

kloczek commented 3 years ago

Build fails on:

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/object"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/object/enum.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIO
NS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchr
onous-unwind-tables -fstack-clash-protection -fcf-protection -flto=auto -flto-partition=none -fdata-sections -ffunction-sections -fno-strict-aliasing -Wno-unused-local-type
defs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-1
1/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/object/enum.o" "libs/python/src/object/enum.cpp"

libs/python/src/object/enum.cpp: In function 'boost::python::api::object boost::python::objects::{anonymous}::new_enum_type(const char*, const char*)':
libs/python/src/object/enum.cpp:156:11: error: 'Py_SET_TYPE' was not declared in this scope
  156 |           Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
      |           ^~~~~~~~~~~
...failed updating 1 target...

Configuration:

+ ./b2 -d+2 -q -j1 --without-mpi --without-graph_parallel --build-dir=serial variant=release threading=multi debug-symbols=on pch=off python=3.8 stage
Performing configuration checks

    - default address-model    : 64-bit
    - default architecture     : x86
    - compiler supports SSE2   : yes
    - compiler supports SSE4.1 : yes
    - C++11 mutex              : yes
    - lockfree boost::atomic_flag : yes
    - has stat::st_mtim        : yes
    - has stat::st_mtimensec   : no
    - has stat::st_mtimespec   : no
    - has stat::st_birthtim    : no
    - has stat::st_birthtimensec : no
    - has stat::st_birthtimespec : no
    - has statx                : yes
    - has statx syscall        : yes
    - cxx11_auto_declarations  : yes
    - cxx11_constexpr          : yes
    - cxx11_defaulted_functions : yes
    - cxx11_final              : yes
    - cxx11_hdr_mutex          : yes
    - cxx11_hdr_tuple          : yes
    - cxx11_lambdas            : yes
    - cxx11_noexcept           : yes
    - cxx11_nullptr            : yes
    - cxx11_rvalue_references  : yes
    - cxx11_template_aliases   : yes
    - cxx11_thread_local       : yes
    - cxx11_variadic_templates : yes
    - has_icu builds           : yes
    - zlib                     : yes
    - bzip2                    : yes
    - lzma                     : yes
    - zstd                     : yes
    - lzma                     : yes (cached)
    - has_lzma_cputhreads builds : yes
    - cxx11_alignas            : yes
    - cxx11_decltype           : yes
    - iconv (libc)             : yes
    - icu                      : yes
    - native atomic int32 supported : yes
    - native syslog supported  : yes
    - pthread supports robust mutexes : yes
    - compiler supports SSSE3  : yes
    - compiler supports AVX2   : yes
    - gcc visibility           : yes
    - long double support      : yes
    - cxx11_static_assert      : yes
    - std::fstream is moveable and swappable : yes
    - Has Large File Support   : yes
    - libbacktrace builds      : no
    - addr2line builds         : yes
    - WinDbg builds            : no
    - WinDbgCached builds      : no
    - BOOST_COMP_GNUC >= 4.3.0 : yes
    - zlib                     : yes
    - bzip2                    : yes
    - lzma                     : yes
    - zstd                     : yes

Component configuration:

    - atomic                   : building
    - chrono                   : building
    - container                : building
    - context                  : building
    - contract                 : building
    - coroutine                : building
    - date_time                : building
    - exception                : building
    - fiber                    : building
    - filesystem               : building
    - graph                    : building
    - graph_parallel           : not building
    - headers                  : building
    - iostreams                : building
    - json                     : building
    - locale                   : building
    - log                      : building
    - math                     : building
    - mpi                      : not building
    - nowide                   : building
    - program_options          : building
    - python                   : building
    - random                   : building
    - regex                    : building
    - serialization            : building
    - stacktrace               : building
    - system                   : building
    - test                     : building
    - thread                   : building
    - timer                    : building
    - type_erasure             : building
    - wave                     : building
stefanseefeld commented 3 years ago

I can't reproduce this. @kloczek can you send me the preprocessed enum.cpp file, please ?

kloczek commented 3 years ago

Sorr I've lost your reply. Here it is content of that file:

[tkloczko@barrel boost_1_75_0]$ ls -l ./libs/python/src/object/enum.cpp
-rw-r--r-- 1 tkloczko tkloczko 8244 Feb 22 18:04 ./libs/python/src/object/enum.cpp
[tkloczko@barrel boost_1_75_0]$ cat ./libs/python/src/object/enum.cpp
// Copyright David Abrahams 2002.
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)

#include <boost/python/object/enum_base.hpp>
#include <boost/python/cast.hpp>
#include <boost/python/scope.hpp>
#include <boost/python/object.hpp>
#include <boost/python/tuple.hpp>
#include <boost/python/dict.hpp>
#include <boost/python/str.hpp>
#include <boost/python/extract.hpp>
#include <boost/python/object_protocol.hpp>
#include <structmember.h>

namespace boost { namespace python { namespace objects {

struct enum_object
{
#if PY_VERSION_HEX >= 0x03000000
    PyLongObject base_object;
#else
    PyIntObject base_object;
#endif
    PyObject* name;
};

static PyMemberDef enum_members[] = {
    {const_cast<char*>("name"), T_OBJECT_EX, offsetof(enum_object,name),READONLY, 0},
    {0, 0, 0, 0, 0}
};

extern "C"
{
    static void
    enum_dealloc(enum_object* self)
    {
        Py_XDECREF(self->name);
        Py_TYPE(self)->tp_free((PyObject*)self);
    }

    static PyObject* enum_repr(PyObject* self_)
    {
        PyObject *mod = PyObject_GetAttrString( self_, "__module__");
        object auto_free = object(handle<>(mod));
        enum_object* self = downcast<enum_object>(self_);
        if (!self->name)
        {
            return
#if PY_VERSION_HEX >= 0x03000000
                PyUnicode_FromFormat("%S.%s(%ld)", mod, self_->ob_type->tp_name, PyLong_AsLong(self_));
#else
                PyString_FromFormat("%s.%s(%ld)", PyString_AsString(mod), self_->ob_type->tp_name, PyInt_AS_LONG(self_));
#endif
        }
        else
        {
            PyObject* name = self->name;
            if (name == 0)
                return 0;

            return
#if PY_VERSION_HEX >= 0x03000000
                PyUnicode_FromFormat("%S.%s.%S", mod, self_->ob_type->tp_name, name);
#else
                PyString_FromFormat("%s.%s.%s",
                        PyString_AsString(mod), self_->ob_type->tp_name, PyString_AsString(name));
#endif
        }
    }

    static PyObject* enum_str(PyObject* self_)
    {
        enum_object* self = downcast<enum_object>(self_);
        if (!self->name)
        {
#if PY_VERSION_HEX >= 0x03000000
            return PyLong_Type.tp_str(self_);
#else
            return PyInt_Type.tp_str(self_);
#endif
        }
        else
        {
            return incref(self->name);
        }
    }
}

static PyTypeObject enum_type_object = {
    PyVarObject_HEAD_INIT(NULL, 0) // &PyType_Type
    const_cast<char*>("Boost.Python.enum"),
    sizeof(enum_object),                    /* tp_basicsize */
    0,                                      /* tp_itemsize */
    (destructor) enum_dealloc,              /* tp_dealloc */
    0,                                      /* tp_print */
    0,                                      /* tp_getattr */
    0,                                      /* tp_setattr */
    0,                                      /* tp_compare */
    enum_repr,                              /* tp_repr */
    0,                                      /* tp_as_number */
    0,                                      /* tp_as_sequence */
    0,                                      /* tp_as_mapping */
    0,                                      /* tp_hash */
    0,                                      /* tp_call */
    enum_str,                               /* tp_str */
    0,                                      /* tp_getattro */
    0,                                      /* tp_setattro */
    0,                                      /* tp_as_buffer */
    Py_TPFLAGS_DEFAULT
#if PY_VERSION_HEX < 0x03000000
    | Py_TPFLAGS_CHECKTYPES
#endif
    | Py_TPFLAGS_HAVE_GC
    | Py_TPFLAGS_BASETYPE,                  /* tp_flags */
    0,                                      /* tp_doc */
    0,                                      /* tp_traverse */
    0,                                      /* tp_clear */
    0,                                      /* tp_richcompare */
    0,                                      /* tp_weaklistoffset */
    0,                                      /* tp_iter */
    0,                                      /* tp_iternext */
    0,                                      /* tp_methods */
    enum_members,                           /* tp_members */
    0,                                      /* tp_getset */
    0, //&PyInt_Type,                       /* tp_base */
    0,                                      /* tp_dict */
    0,                                      /* tp_descr_get */
    0,                                      /* tp_descr_set */
    0,                                      /* tp_dictoffset */
    0,                                      /* tp_init */
    0,                                      /* tp_alloc */
    0,                                      /* tp_new */
    0,                                      /* tp_free */
    0,                                      /* tp_is_gc */
    0,                                      /* tp_bases */
    0,                                      /* tp_mro */
    0,                                      /* tp_cache */
    0,                                      /* tp_subclasses */
    0,                                      /* tp_weaklist */
#if PYTHON_API_VERSION >= 1012
    0                                       /* tp_del */
#endif
};

object module_prefix();

namespace
{
  object new_enum_type(char const* name, char const *doc)
  {
      if (enum_type_object.tp_dict == 0)
      {
          Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
#if PY_VERSION_HEX >= 0x03000000
          enum_type_object.tp_base = &PyLong_Type;
#else
          enum_type_object.tp_base = &PyInt_Type;
#endif
          if (PyType_Ready(&enum_type_object))
              throw_error_already_set();
      }

      type_handle metatype(borrowed(&PyType_Type));
      type_handle base(borrowed(&enum_type_object));

      // suppress the instance __dict__ in these enum objects. There
      // may be a slicker way, but this'll do for now.
      dict d;
      d["__slots__"] = tuple();
      d["values"] = dict();
      d["names"] = dict();

      object module_name = module_prefix();
      if (module_name)
         d["__module__"] = module_name;
      if (doc)
         d["__doc__"] = doc;

      object result = (object(metatype))(name, make_tuple(base), d);

      scope().attr(name) = result;

      return result;
  }
}

enum_base::enum_base(
    char const* name
    , converter::to_python_function_t to_python
    , converter::convertible_function convertible
    , converter::constructor_function construct
    , type_info id
    , char const *doc
    )
    : object(new_enum_type(name, doc))
{
    converter::registration& converters
        = const_cast<converter::registration&>(
            converter::registry::lookup(id));

    converters.m_class_object = downcast<PyTypeObject>(this->ptr());
    converter::registry::insert(to_python, id);
    converter::registry::insert(convertible, construct, id);
}

void enum_base::add_value(char const* name_, long value)
{
    // Convert name to Python string
    object name(name_);

    // Create a new enum instance by calling the class with a value
    object x = (*this)(value);

    // Store the object in the enum class
    (*this).attr(name_) = x;

    dict d = extract<dict>(this->attr("values"))();
    d[value] = x;

    // Set the name field in the new enum instanec
    enum_object* p = downcast<enum_object>(x.ptr());
    Py_XDECREF(p->name);
    p->name = incref(name.ptr());

    dict names_dict = extract<dict>(this->attr("names"))();
    names_dict[x.attr("name")] = x;
}

void enum_base::export_values()
{
    dict d = extract<dict>(this->attr("names"))();
    list items = d.items();
    scope current;

    for (unsigned i = 0, max = len(items); i < max; ++i)
        api::setattr(current, items[i][0], items[i][1]);
 }

PyObject* enum_base::to_python(PyTypeObject* type_, long x)
{
    object type((type_handle(borrowed(type_))));

    dict d = extract<dict>(type.attr("values"))();
    object v = d.get(x, object());
    return incref(
        (v == object() ? type(x) : v).ptr());
}

}}} // namespace boost::python::object
stefanseefeld commented 3 years ago

Please add the preprocessed file. Thanks.

kloczek commented 3 years ago

Nevertheless can you tell what potentially it can be? This file is generated by boost build process so what can be generated depends on something.

Boost build framework is really hard to decipher .. do you have any plans to move to something more civilised like cmake or meson? IMO really big issue is spreading boost code across many git repos. That multireppos code cannot be build separately so to be honest I do not understand as well why every chunk of the boost is in separated repo. That multi repos model creates as well issues on pooling patches over http github interface.

kloczek commented 3 years ago

Please add the preprocessed file. Thanks.

Which one file it is?

kloczek commented 3 years ago

I can't reproduce this. @kloczek can you send me the preprocessed enum.cpp file, please ?

@stefanseefeld could you please tell which one file ypou want me to show you? I see in build tree only one enum.cpp file and content of that file you have now in the ticket.

[tkloczko@barrel boost_1_75_0]$ find . -name enum.cpp
./libs/python/src/object/enum.cpp
stefanseefeld commented 3 years ago

I really want to see the preprocessed file. If you don't know how to generate that, please run the build with -d2 and show me the exact (compiler) command used to compile enum.cpp.

kloczek commented 3 years ago

I really want to see the preprocessed file.

And I really want to know which one file it is :/ What it means in this case "preprocessed file"?

If you don't know how to generate that, please run the build with -d2 and show me the exact (compiler) command used to compile enum.cpp.

Issue is that boos is usig nowhere elese used build tooling. Do you have any plans to move to sometbing usually used lik GNUI autotools, cmake or meson? Other boost issue is that repositoery for some reasionss is spread across many other repositories. This makes exteramly difficult to track any changes and makes extreamly difficult to download exact commits against submodules over github https reat interface.

I just started build -d2 so shortly will post here exact part of the build log.

kloczek commented 3 years ago

So here is longer chunl]k ob the output before compoile error is reported:

    cp "serial/boost/bin.v2/libs/nowide/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_nowide-variant-shared.cmake"  "/home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_nowide-1.75.0/libboost_nowide-variant-shared.cmake"

common.mkdir serial/boost/bin.v2/libs/program_options

        mkdir -p "serial/boost/bin.v2/libs/program_options"

common.mkdir serial/boost/bin.v2/libs/program_options/build

        mkdir -p "serial/boost/bin.v2/libs/program_options/build"

common.mkdir serial/boost/bin.v2/libs/program_options/build/gcc-11

        mkdir -p "serial/boost/bin.v2/libs/program_options/build/gcc-11"

common.mkdir serial/boost/bin.v2/libs/program_options/build/gcc-11/release

        mkdir -p "serial/boost/bin.v2/libs/program_options/build/gcc-11/release"

common.mkdir serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on

        mkdir -p "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on"

common.mkdir serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off

        mkdir -p "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off"

common.mkdir serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi

        mkdir -p "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi"

common.mkdir serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden

        mkdir -p "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden"

gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/cmdline.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/cmdline.o" "libs/program_options/src/cmdline.cpp"

In file included from ./boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
                 from ./boost/smart_ptr/detail/yield_k.hpp:23,
                 from ./boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
                 from ./boost/smart_ptr/detail/spinlock.hpp:42,
                 from ./boost/smart_ptr/detail/spinlock_pool.hpp:25,
                 from ./boost/smart_ptr/shared_ptr.hpp:29,
                 from ./boost/shared_ptr.hpp:17,
                 from ./boost/program_options/options_description.hpp:16,
                 from ./boost/program_options/detail/cmdline.hpp:14,
                 from libs/program_options/src/cmdline.cpp:11:
./boost/config/pragma_message.hpp:24:34: note: '#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.'
   24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
      |                                  ^~~~~~~
./boost/bind.hpp:36:1: note: in expansion of macro 'BOOST_PRAGMA_MESSAGE'
   36 | BOOST_PRAGMA_MESSAGE(
      | ^~~~~~~~~~~~~~~~~~~~
gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/config_file.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/config_file.o" "libs/program_options/src/config_file.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/options_description.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/options_description.o" "libs/program_options/src/options_description.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/parsers.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/parsers.o" "libs/program_options/src/parsers.cpp"

In file included from ./boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
                 from ./boost/smart_ptr/detail/yield_k.hpp:23,
                 from ./boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
                 from ./boost/smart_ptr/detail/spinlock.hpp:42,
                 from ./boost/smart_ptr/detail/spinlock_pool.hpp:25,
                 from ./boost/smart_ptr/shared_ptr.hpp:29,
                 from ./boost/shared_ptr.hpp:17,
                 from ./boost/program_options/options_description.hpp:16,
                 from ./boost/program_options/detail/cmdline.hpp:14,
                 from ./boost/program_options/parsers.hpp:12,
                 from libs/program_options/src/parsers.cpp:11:
./boost/config/pragma_message.hpp:24:34: note: '#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.'
   24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
      |                                  ^~~~~~~
./boost/bind.hpp:36:1: note: in expansion of macro 'BOOST_PRAGMA_MESSAGE'
   36 | BOOST_PRAGMA_MESSAGE(
      | ^~~~~~~~~~~~~~~~~~~~
gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/variables_map.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/variables_map.o" "libs/program_options/src/variables_map.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/value_semantic.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/value_semantic.o" "libs/program_options/src/value_semantic.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/positional_options.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/positional_options.o" "libs/program_options/src/positional_options.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/utf8_codecvt_facet.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/utf8_codecvt_facet.o" "libs/program_options/src/utf8_codecvt_facet.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/convert.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/convert.o" "libs/program_options/src/convert.cpp"

In file included from ./boost/bind.hpp:30,
                 from libs/program_options/src/convert.cpp:22:
./boost/config/pragma_message.hpp:24:34: note: '#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.'
   24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
      |                                  ^~~~~~~
./boost/bind.hpp:36:1: note: in expansion of macro 'BOOST_PRAGMA_MESSAGE'
   36 | BOOST_PRAGMA_MESSAGE(
      | ^~~~~~~~~~~~~~~~~~~~
gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/winmain.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/winmain.o" "libs/program_options/src/winmain.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/split.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"."  -c -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/split.o" "libs/program_options/src/split.cpp"

gcc.link.dll serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options.so.1.75.0

    "g++"   -o "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options.so.1.75.0" -Wl,-h -Wl,libboost_program_options.so.1.75.0 -shared -Wl,--start-group "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/cmdline.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/config_file.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/options_description.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/parsers.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/variables_map.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/value_semantic.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/positional_options.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/utf8_codecvt_facet.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/convert.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/winmain.o" "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/split.o"  -Wl,-Bstatic  -Wl,-Bdynamic -lrt -Wl,--end-group -fPIC -m64 -pthread -g -fvisibility=hidden -fvisibility-inlines-hidden -Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin

common.copy /home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/libboost_program_options.so.1.75.0

    cp "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options.so.1.75.0"  "/home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/libboost_program_options.so.1.75.0"

ln-UNIX /home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/libboost_program_options.so

    ln -f -s 'libboost_program_options.so.1.75.0' '/home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/libboost_program_options.so'

common.mkdir serial/boost/bin.v2/libs/program_options/build/stage

        mkdir -p "serial/boost/bin.v2/libs/program_options/build/stage"

file /tmp/jam193886bbfc.000
# Generated by Boost 1.75.0

if(TARGET Boost::program_options)
  return()
endif()

if(Boost_VERBOSE OR Boost_DEBUG)
  message(STATUS "Found boost_program_options ${boost_program_options_VERSION} at ${boost_program_options_DIR}")
endif()

# Compute the include and library directories relative to this file.

get_filename_component(_BOOST_CMAKEDIR "${CMAKE_CURRENT_LIST_DIR}/../" REALPATH)
get_filename_component(_BOOST_INCLUDEDIR "${_BOOST_CMAKEDIR}/../../../" ABSOLUTE)
get_filename_component(_BOOST_LIBDIR "${_BOOST_CMAKEDIR}/../" ABSOLUTE)

include(${CMAKE_CURRENT_LIST_DIR}/../BoostDetectToolset-1.75.0.cmake)

if(Boost_DEBUG)
  message(STATUS "Scanning ${CMAKE_CURRENT_LIST_DIR}/libboost_program_options-variant*.cmake")
endif()

file(GLOB __boost_variants "${CMAKE_CURRENT_LIST_DIR}/libboost_program_options-variant*.cmake")

macro(_BOOST_SKIPPED fname reason)
  if(Boost_VERBOSE OR Boost_DEBUG)
    message(STATUS "  [ ] ${fname}")
  endif()
  list(APPEND __boost_skipped "${fname} (${reason})")
endmacro()

list(LENGTH __boost_variants _BOOST_SINGLE_VARIANT)
if(NOT _BOOST_SINGLE_VARIANT EQUAL 1)
  set(_BOOST_SINGLE_VARIANT 0)
endif()

foreach(f IN LISTS __boost_variants)
  if(Boost_DEBUG)
    message(STATUS "  Including ${f}")
  endif()
  include(${f})
endforeach()

unset(_BOOST_SINGLE_VARIANT)
unset(_BOOST_LIBDIR)
unset(_BOOST_INCLUDEDIR)
unset(_BOOST_CMAKEDIR)

if(NOT __boost_variants AND (Boost_VERBOSE OR Boost_DEBUG))
  message(STATUS "  Library has no variants and is considered not found")
endif()

if(NOT TARGET Boost::program_options)
  set(__boost_message "No suitable build variant has been found.")
  if(__boost_skipped)
    set(__boost_message "${__boost_message}\nThe following variants have been tried and rejected:")
    foreach(s IN LISTS __boost_skipped)
      set(__boost_message "${__boost_message}\n* ${s}")
    endforeach()
  endif()
  set(boost_program_options_FOUND 0)
  set(boost_program_options_NOT_FOUND_MESSAGE ${__boost_message})
  unset(__boost_message)
  unset(__boost_skipped)
  unset(__boost_variants)
  unset(_BOOST_PROGRAM_OPTIONS_DEPS)
  return()
endif()

unset(__boost_skipped)
unset(__boost_variants)

if(_BOOST_PROGRAM_OPTIONS_DEPS)
  list(REMOVE_DUPLICATES _BOOST_PROGRAM_OPTIONS_DEPS)
  if(Boost_VERBOSE OR Boost_DEBUG)
    message(STATUS "Adding boost_program_options dependencies: ${_BOOST_PROGRAM_OPTIONS_DEPS}")
  endif()
endif()

foreach(dep_boost_program_options IN LISTS _BOOST_PROGRAM_OPTIONS_DEPS)
  set(_BOOST_QUIET)
  if(boost_program_options_FIND_QUIETLY)
    set(_BOOST_QUIET QUIET)
  endif()
  set(_BOOST_REQUIRED)
  if(boost_program_options_FIND_REQUIRED)
    set(_BOOST_REQUIRED REQUIRED)
  endif()
  get_filename_component(_BOOST_CMAKEDIR "${CMAKE_CURRENT_LIST_DIR}/../" ABSOLUTE)
  find_package(boost_${dep_boost_program_options} 1.75.0 EXACT CONFIG ${_BOOST_REQUIRED} ${_BOOST_QUIET} HINTS ${_BOOST_CMAKEDIR})
  set_property(TARGET Boost::program_options APPEND PROPERTY INTERFACE_LINK_LIBRARIES Boost::${dep_boost_program_options})
  unset(_BOOST_QUIET)
  unset(_BOOST_REQUIRED)
  unset(_BOOST_CMAKEDIR)
  if(NOT boost_${dep_boost_program_options}_FOUND)
    set(boost_program_options_FOUND 0)
    set(boost_program_options_NOT_FOUND_MESSAGE "A required dependency, boost_${dep_boost_program_options}, has not been found.")
    unset(_BOOST_PROGRAM_OPTIONS_DEPS)
    return()
  endif()
endforeach()

unset(_BOOST_PROGRAM_OPTIONS_DEPS)

mark_as_advanced(boost_program_options_DIR)

boost-install.generate-cmake-config- serial/boost/bin.v2/libs/program_options/build/stage/boost_program_options-config.cmake

text-action serial/boost/bin.v2/libs/program_options/build/stage/boost_program_options-config.cmake

    cat "/tmp/jam193886bbfc.000" > "serial/boost/bin.v2/libs/program_options/build/stage/boost_program_options-config.cmake"

common.mkdir /home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_program_options-1.75.0

        mkdir -p "/home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_program_options-1.75.0"

common.copy /home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_program_options-1.75.0/boost_program_options-config.cmake

    cp "serial/boost/bin.v2/libs/program_options/build/stage/boost_program_options-config.cmake"  "/home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_program_options-1.75.0/boost_program_options-config.cmake"

file /tmp/jam193886bbfd.000
# Generated by Boost 1.75.0

set(PACKAGE_VERSION 1.75.0)

if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
  set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
  set(PACKAGE_VERSION_COMPATIBLE TRUE)
  if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
    set(PACKAGE_VERSION_EXACT TRUE)
  endif()
endif()

boost-install.generate-cmake-config-version- serial/boost/bin.v2/libs/program_options/build/stage/boost_program_options-config-version.cmake

text-action serial/boost/bin.v2/libs/program_options/build/stage/boost_program_options-config-version.cmake

    cat "/tmp/jam193886bbfd.000" > "serial/boost/bin.v2/libs/program_options/build/stage/boost_program_options-config-version.cmake"

common.copy /home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_program_options-1.75.0/boost_program_options-config-version.cmake

    cp "serial/boost/bin.v2/libs/program_options/build/stage/boost_program_options-config-version.cmake"  "/home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_program_options-1.75.0/boost_program_options-config-version.cmake"

file /tmp/jam193886bbfe.000
# Generated by Boost 1.75.0

# address-model=64

if(CMAKE_SIZEOF_VOID_P EQUAL 4)
  _BOOST_SKIPPED("libboost_program_options.so.1.75.0" "64 bit, need 32")
  return()
endif()

# layout=system

# toolset=gcc11

# link=shared

if(DEFINED Boost_USE_STATIC_LIBS)
  if(Boost_USE_STATIC_LIBS)
    _BOOST_SKIPPED("libboost_program_options.so.1.75.0" "shared, Boost_USE_STATIC_LIBS=${Boost_USE_STATIC_LIBS}")
    return()
  endif()
else()
  if(WIN32 AND NOT _BOOST_SINGLE_VARIANT)
    _BOOST_SKIPPED("libboost_program_options.so.1.75.0" "shared, default on Windows is static, set Boost_USE_STATIC_LIBS=OFF to override")
    return()
  endif()
endif()

# runtime-link=shared

if(Boost_USE_STATIC_RUNTIME)
  _BOOST_SKIPPED("libboost_program_options.so.1.75.0" "shared runtime, Boost_USE_STATIC_RUNTIME=${Boost_USE_STATIC_RUNTIME}")
  return()
endif()

# runtime-debugging=off

if(Boost_USE_DEBUG_RUNTIME)
  _BOOST_SKIPPED("libboost_program_options.so.1.75.0" "release runtime, Boost_USE_DEBUG_RUNTIME=${Boost_USE_DEBUG_RUNTIME}")
  return()
endif()

# threading=multi

# variant=release

if(NOT "${Boost_USE_RELEASE_LIBS}" STREQUAL "" AND NOT Boost_USE_RELEASE_LIBS)
  _BOOST_SKIPPED("libboost_program_options.so.1.75.0" "release, Boost_USE_RELEASE_LIBS=${Boost_USE_RELEASE_LIBS}")
  return()
endif()

if(Boost_VERBOSE OR Boost_DEBUG)
  message(STATUS "  [x] libboost_program_options.so.1.75.0")
endif()

# Create imported target Boost::program_options

if(NOT TARGET Boost::program_options)
  add_library(Boost::program_options SHARED IMPORTED)

  set_target_properties(Boost::program_options PROPERTIES
    INTERFACE_INCLUDE_DIRECTORIES "${_BOOST_INCLUDEDIR}"
    INTERFACE_COMPILE_DEFINITIONS "BOOST_ALL_NO_LIB"
  )
endif()

# Target file name: libboost_program_options.so.1.75.0

get_target_property(__boost_imploc Boost::program_options IMPORTED_LOCATION_RELEASE)
if(__boost_imploc)
  message(SEND_ERROR "Target Boost::program_options already has an imported location '${__boost_imploc}', which is being overwritten with '${_BOOST_LIBDIR}/libboost_program_options.so.1.75.0'")
endif()
unset(__boost_imploc)

set_property(TARGET Boost::program_options APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)

set_target_properties(Boost::program_options PROPERTIES
  IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE CXX
  IMPORTED_LOCATION_RELEASE "${_BOOST_LIBDIR}/libboost_program_options.so.1.75.0"
  )

set_target_properties(Boost::program_options PROPERTIES
  MAP_IMPORTED_CONFIG_MINSIZEREL Release
  MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
  )

set_property(TARGET Boost::program_options APPEND
  PROPERTY INTERFACE_COMPILE_DEFINITIONS "BOOST_PROGRAM_OPTIONS_DYN_LINK"
  )

list(APPEND _BOOST_PROGRAM_OPTIONS_DEPS headers)

boost-install.generate-cmake-variant- serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options-variant-shared.cmake

text-action serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options-variant-shared.cmake

    cat "/tmp/jam193886bbfe.000" > "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options-variant-shared.cmake"

common.copy /home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_program_options-1.75.0/libboost_program_options-variant-shared.cmake

    cp "serial/boost/bin.v2/libs/program_options/build/gcc-11/release/debug-symbols-on/pch-off/threading-multi/visibility-hidden/libboost_program_options-variant-shared.cmake"  "/home/tkloczko/rpmbuild/BUILD/boost_1_75_0/stage/lib/cmake/boost_program_options-1.75.0/libboost_program_options-variant-shared.cmake"

common.mkdir serial/boost/bin.v2/libs/python

        mkdir -p "serial/boost/bin.v2/libs/python"

common.mkdir serial/boost/bin.v2/libs/python/build

        mkdir -p "serial/boost/bin.v2/libs/python/build"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11/release

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/list.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/list.o" "libs/python/src/list.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/long.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/long.o" "libs/python/src/long.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/dict.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/dict.o" "libs/python/src/dict.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/tuple.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/tuple.o" "libs/python/src/tuple.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/str.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/str.o" "libs/python/src/str.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/slice.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/slice.o" "libs/python/src/slice.cpp"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/converter

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/converter"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/converter/from_python.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/converter/from_python.o" "libs/python/src/converter/from_python.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/converter/registry.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/converter/registry.o" "libs/python/src/converter/registry.cpp"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/converter/type_id.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/converter/type_id.o" "libs/python/src/converter/type_id.cpp"

common.mkdir serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/object

        mkdir -p "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/object"

gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/object/enum.o

    "g++"  -fvisibility-inlines-hidden -fPIC -m64 -pthread -g -fvisibility=hidden -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations  -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG  -I"." -I"/usr/include/python3.8"  -c -o "serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/object/enum.o" "libs/python/src/object/enum.cpp"

libs/python/src/object/enum.cpp: In function 'boost::python::api::object boost::python::objects::{anonymous}::new_enum_type(const char*, const char*)':
libs/python/src/object/enum.cpp:156:11: error: 'Py_SET_TYPE' was not declared in this scope
  156 |           Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
      |           ^~~~~~~~~~~
...failed gcc.compile.c++ serial/boost/bin.v2/libs/python/build/gcc-11/release/debug-symbols-on/pch-off/python-3.8/threading-multi/visibility-hidden/object/enum.o...
...failed updating 1 target...
...updated 656 targets...

You've been asking about exact gcc command line arames before eooeo. If you will look on top of that ticket that has been provided on opening that ticket. Please let me know if you will need anything else.

stefanseefeld commented 3 years ago

You produce a preprocessed file by compiling the original source with g++ ... -E ..., so in your case I would suggest you take the line that compiles enum.cpp and replace -c -o .../enum.o by -E -o .../enum.i, then send me that generated "enum.i" file.

I'm still unable to reproduce the issue here, as the symbol your compiler can't find ("Py_SET_TYPE") is provided either by boost/python/detail/wrap_python.hpp or by Python's own headers, depending on the Python version you compile with. In case of Python 3.8 that should be the wrap_python.hpp file, specifically https://github.com/boostorg/python/blob/develop/include/boost/python/detail/wrap_python.hpp#L232-L235

kloczek commented 3 years ago

Just in case .. I'm using dist tar ball from https://dl.sf.net/projects/boost/files/boost/1.75.0/boost_1_75_0.tar.bz2 In that tar ball there is that file

[tkloczko@barrel boost_1_75_0]$ grep -r Py_SET_TYPE
libs/python/src/object/class.cpp:          Py_SET_TYPE(&static_data_object, &PyType_Type);
libs/python/src/object/class.cpp:          Py_SET_TYPE(&class_metatype_object, &PyType_Type);
libs/python/src/object/class.cpp:          Py_SET_TYPE(&class_type_object, incref(class_metatype().get()));
libs/python/src/object/life_support.cpp:        Py_SET_TYPE(&life_support_type, &PyType_Type);
libs/python/src/object/function.cpp:        Py_SET_TYPE(&function_type, &PyType_Type);
libs/python/src/object/enum.cpp:          Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
boost/parameter/python.hpp:          Py_SET_TYPE(&unspecified, &PyType_Type);
stefanseefeld commented 3 years ago

I can't access that file, but I'm certain that the official 1.75.0 release does not include my changes that introduce the usage of Py_SET_TYPE, as I merged them in early January 2021, while the 1.75.0 release was done before that. And indeed, the 1.75.0 release package I just downloaded and inspected don't contain that change.

kloczek commented 3 years ago

Just downloaded dist tar ball https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.bz2 (which is listed on https://www.boost.org/) and still the same:

[tkloczko@barrel boost_1_75_0]$ grep -r Py_SET_TYPE
libs/python/src/object/class.cpp:          Py_SET_TYPE(&static_data_object, &PyType_Type);
libs/python/src/object/class.cpp:          Py_SET_TYPE(&class_metatype_object, &PyType_Type);
libs/python/src/object/class.cpp:          Py_SET_TYPE(&class_type_object, incref(class_metatype().get()));
libs/python/src/object/life_support.cpp:        Py_SET_TYPE(&life_support_type, &PyType_Type);
libs/python/src/object/function.cpp:        Py_SET_TYPE(&function_type, &PyType_Type);
libs/python/src/object/enum.cpp:          Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
boost/parameter/python.hpp:          Py_SET_TYPE(&unspecified, &PyType_Type);
kloczek commented 3 years ago

OK I see that file

[tkloczko@barrel boost_1_75_0]$ find . -name wrap_python.hpp
./boost/python/detail/wrap_python.hpp
[tkloczko@barrel boost_1_75_0]$ md5sum ./boost/python/detail/wrap_python.hpp
f2ebb460b4bf3f8ac8f83ebdfc315e97  ./boost/python/detail/wrap_python.hpp

But looks like it is without that Py_SET_TYPE definition :/

stefanseefeld commented 3 years ago

I downloaded the dist tarball you just posted. It does not contain my changes. Is it possible that you somehow mix up a source repo with a release package ? Sorry, don't know what else to suggest, but I really can't reproduce any of this.

kloczek commented 3 years ago

I downloaded the dist tarball you just posted. It does not contain my changes. Is it possible that you somehow mix up a source repo with a release package ?

Gosh and that was the correct point. I've started working on my boost rpm package (because I want to add some patches) and I've started from src.rpm from fedora rawhide. That package uses additional patch https://src.fedoraproject.org/rpms/boost/raw/rawhide/f/boost-1.73-python3.10.patch which have been messing here :/

I must apologise for wasting your time but .. "nobody expect the Spanish Inquisition" :/ I've been assuming that because Fedora build with boost was OK it shoul be possible to start from they shoulders ..

Can we keep for a while that ticket opened? I just started build without that (b*dy) patch and I promissise to close it by myself if build will be OK One more time .. sorry

stefanseefeld commented 3 years ago

OK, I'm happy you have found the issue. As to your point about boost's modularity: yes, this is a big issue. There are people among the boost developer community with quite opposing points of view: some would rather see things being tightly integrated (for end-user convenience), some would like to make it more modular, so individual components (such as Boost.Python) could be worked on and with individually. Right now we are sort of in the middle, which combines the worst of both worlds. I for one have started to develop a separate build system and added some instructions to Boost.Python to build that stand-alone against an external Boost installation. If you want to try that, just follow the instructions in https://github.com/boostorg/python/blob/develop/README.md

kloczek commented 3 years ago

OK I'm closing that issue ticket. %build finished and now I must only clean whole %install section from fedora spec file. That fedora spoec file is horrible ..

About modularisation .. it is really hard to control code spread across many repos. One of the issues is tagging which in such cases very difficult. BTW tagging .. please consider change tagging convention from next release to just <version> instead current one boost_<version_with_underscores> :) gitlab/github automatically adds to autogenerated tar balls from git tags repo name so with that such tar ball will have in archive base directory boost-<version>/ Using tagged tar balls is very important as downloading it is way faster than cloning and usually committing patching base code using patches downloaded over github/gitlab rest interface cannot be done on top of the dist tar ball but it will always work against autogenerated tagged tar ball. BTW such autogenerated tar balls. Such tar ball is now useless as cannot be generated in cases repo with submodules. In other words it is yet another small argument to have whole boost code in single repo :)

Thank you very much for your time.