giuliano-macedo / clusopt_core

Clustream, Streamkm++ and metrics utilities C/C++ bindings for python
GNU General Public License v3.0
15 stars 1 forks source link

Cannot install #4

Open filemon11 opened 2 months ago

filemon11 commented 2 months ago

I have difficulties installing clusopt_core. I am running 6.9.12-3-MANJARO (64-bit) , Python 3.12 and have installed the prerequisites (pip 24.2, boost 1.83.0-9, boost-libs 1.83.0-9, gcc 14.2.1).

I get the following error when calling pip install clusopt_core:

Collecting clusopt_core
  Using cached clusopt_core-1.0.0.tar.gz (35 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting scikit-learn>=0.23.1 (from clusopt_core)
  Using cached scikit_learn-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)
Requirement already satisfied: numpy>=1.19.5 in ./Applications/miniforge3/envs/parseye/lib/python3.12/site-packages (from scikit-learn>=0.23.1->clusopt_core) (1.26.4)
Collecting scipy>=1.6.0 (from scikit-learn>=0.23.1->clusopt_core)
  Using cached scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
Requirement already satisfied: joblib>=1.2.0 in ./Applications/miniforge3/envs/parseye/lib/python3.12/site-packages (from scikit-learn>=0.23.1->clusopt_core) (1.4.2)
Collecting threadpoolctl>=3.1.0 (from scikit-learn>=0.23.1->clusopt_core)
  Using cached threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)
Using cached scikit_learn-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)
Using cached scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.8 MB)
Using cached threadpoolctl-3.5.0-py3-none-any.whl (18 kB)
Building wheels for collected packages: clusopt_core
  Building wheel for clusopt_core (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for clusopt_core (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [175 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-312
      creating build/lib.linux-x86_64-cpython-312/clusopt_core
      copying clusopt_core/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster
      copying clusopt_core/cluster/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/metrics
      copying clusopt_core/metrics/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/metrics
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/clustream
      copying clusopt_core/cluster/clustream/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/clustream
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm
      copying clusopt_core/cluster/streamkm/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm
      running build_ext
      building 'clusopt_core.metrics.silhouette' extension
      creating build/temp.linux-x86_64-cpython-312
      creating build/temp.linux-x86_64-cpython-312/clusopt_core
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/metrics
      g++ -pthread -B /home/lukasm/Applications/miniforge3/envs/parseye/compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/lukasm/Applications/miniforge3/envs/parseye/include -fPIC -O2 -isystem /home/lukasm/Applications/miniforge3/envs/parseye/include -fPIC -I/tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12 -c clusopt_core/metrics/silhouette.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/silhouette.o -O2 -std=c++11 -g0 -fvisibility=hidden
      In Datei, eingebunden von /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:13,
                       von /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:45,
                       von clusopt_core/metrics/silhouette.cpp:1:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h: In Funktion »std::string pybind11::detail::error_string()«:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:446:36: Fehler: falsche Verwendung des unvollständigen Typs »PyFrameObject« {aka »struct _frame«}
        446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
            |                                    ^~
      In Datei, eingebunden von /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/Python.h:42,
                       von /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/detail/common.h:122,
                       von /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pytypes.h:12,
                       von /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:13:
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/pytypedefs.h:22:16: Anmerkung: Vorwärtsdeklaration von »PyFrameObject« {aka »struct _frame«}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:446:75: Fehler: expected primary-expression before »>« token
        446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
            |                                                                           ^
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:446:77: Fehler: expected primary-expression before »)« token
        446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
            |                                                                             ^
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:448:29: Fehler: falsche Verwendung des unvollständigen Typs »PyFrameObject« {aka »struct _frame«}
        448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
            |                             ^~
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/pytypedefs.h:22:16: Anmerkung: Vorwärtsdeklaration von »PyFrameObject« {aka »struct _frame«}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:448:64: Fehler: expected primary-expression before »>« token
        448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
            |                                                                ^
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:448:66: Fehler: expected primary-expression before »)« token
        448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
            |                                                                  ^
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:449:26: Fehler: falsche Verwendung des unvollständigen Typs »PyFrameObject« {aka »struct _frame«}
        449 |             frame = frame->f_back;
            |                          ^~
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/pytypedefs.h:22:16: Anmerkung: Vorwärtsdeklaration von »PyFrameObject« {aka »struct _frame«}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h: Im globalen Gültigkeitsbereich:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:199:10: Fehler: »uint16_t« in Namensraum »std« bezeichnet keinen Typ; meinten Sie »wint_t«?
        199 |     std::uint16_t nargs;
            |          ^~~~~~~~
            |          wint_t
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:202:10: Fehler: »uint16_t« in Namensraum »std« bezeichnet keinen Typ; meinten Sie »wint_t«?
        202 |     std::uint16_t nargs_kw_only = 0;
            |          ^~~~~~~~
            |          wint_t
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:205:10: Fehler: »uint16_t« in Namensraum »std« bezeichnet keinen Typ; meinten Sie »wint_t«?
        205 |     std::uint16_t nargs_pos_only = 0;
            |          ^~~~~~~~
            |          wint_t
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h: In Konstruktor »pybind11::detail::function_call::function_call(const pybind11::detail::function_record&, pybind11::handle)«:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:310:20: Fehler: »const struct pybind11::detail::function_record« hat kein Element namens »nargs«; meinten Sie »args«?
        310 |     args.reserve(f.nargs);
            |                    ^~~~~
            |                    args
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:311:28: Fehler: »const struct pybind11::detail::function_record« hat kein Element namens »nargs«; meinten Sie »args«?
        311 |     args_convert.reserve(f.nargs);
            |                            ^~~~~
            |                            args
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h: In Funktion »void pybind11::detail::process_kw_only_arg(const pybind11::arg&, function_record*)«:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:382:10: Fehler: »struct pybind11::detail::function_record« hat kein Element namens »nargs_kw_only«
        382 |     ++r->nargs_kw_only;
            |          ^~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h: In statischer Elementfunktion »static void pybind11::detail::process_attribute<pybind11::pos_only>::init(const pybind11::pos_only&, pybind11::detail::function_record*)«:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:439:12: Fehler: »struct pybind11::detail::function_record« hat kein Element namens »nargs_pos_only«
        439 |         r->nargs_pos_only = static_cast<std::uint16_t>(r->args.size());
            |            ^~~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:439:46: Fehler: »uint16_t« in Namensraum »std« bezeichnet keinen Typ; meinten Sie »wint_t«?
        439 |         r->nargs_pos_only = static_cast<std::uint16_t>(r->args.size());
            |                                              ^~~~~~~~
            |                                              wint_t
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h: In Elementfunktion »void pybind11::cpp_function::initialize_generic(pybind11::detail::function_record*, const char*, const std::type_info* const*, pybind11::size_t)«:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:270:26: Fehler: »struct pybind11::detail::function_record« hat kein Element namens »nargs_kw_only«
        270 |                 if (rec->nargs_kw_only > 0 && arg_index + rec->nargs_kw_only == args)
            |                          ^~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:270:64: Fehler: »struct pybind11::detail::function_record« hat kein Element namens »nargs_kw_only«
        270 |                 if (rec->nargs_kw_only > 0 && arg_index + rec->nargs_kw_only == args)
            |                                                                ^~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:288:26: Fehler: »struct pybind11::detail::function_record« hat kein Element namens »nargs_pos_only«
        288 |                 if (rec->nargs_pos_only > 0 && (arg_index + 1) == rec->nargs_pos_only)
            |                          ^~~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:288:72: Fehler: »struct pybind11::detail::function_record« hat kein Element namens »nargs_pos_only«
        288 |                 if (rec->nargs_pos_only > 0 && (arg_index + 1) == rec->nargs_pos_only)
            |                                                                        ^~~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:330:14: Fehler: »struct pybind11::detail::function_record« hat kein Element namens »nargs«; meinten Sie »args«?
        330 |         rec->nargs = (std::uint16_t) args;
            |              ^~~~~
            |              args
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:330:28: Fehler: »uint16_t« ist kein Element von »std«; meinten Sie »wint_t«?
        330 |         rec->nargs = (std::uint16_t) args;
            |                            ^~~~~~~~
            |                            wint_t
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h: In statischer Elementfunktion »static PyObject* pybind11::cpp_function::dispatcher(PyObject*, PyObject*, PyObject*)«:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:554:40: Fehler: »const struct pybind11::detail::function_record« hat kein Element namens »nargs«; meinten Sie »args«?
        554 |                 size_t num_args = func.nargs;    // Number of positional arguments that we need
            |                                        ^~~~~
            |                                        args
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:557:51: Fehler: »const struct pybind11::detail::function_record« hat kein Element namens »nargs_kw_only«
        557 |                 size_t pos_args = num_args - func.nargs_kw_only;
            |                                                   ^~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:607:40: Fehler: »const struct pybind11::detail::function_record« hat kein Element namens »nargs_pos_only«
        607 |                 if (args_copied < func.nargs_pos_only) {
            |                                        ^~~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:608:47: Fehler: »const struct pybind11::detail::function_record« hat kein Element namens »nargs_pos_only«
        608 |                     for (; args_copied < func.nargs_pos_only; ++args_copied) {
            |                                               ^~~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:622:44: Fehler: »const struct pybind11::detail::function_record« hat kein Element namens »nargs_pos_only«
        622 |                     if (args_copied < func.nargs_pos_only)
            |                                            ^~~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:710:53: Fehler: »const struct pybind11::detail::function_record« hat kein Element namens »nargs«; meinten Sie »args«?
        710 |                     second_pass_convert.resize(func.nargs, false);
            |                                                     ^~~~~
            |                                                     args
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h: In Funktion »pybind11::function pybind11::detail::get_type_override(const void*, const type_info*, const char*)«:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:2213:49: Fehler: »PyThreadState« {aka »struct _ts«} hat kein Element namens »frame«; meinten Sie »cframe«?
       2213 |     PyFrameObject *frame = PyThreadState_Get()->frame;
            |                                                 ^~~~~
            |                                                 cframe
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:2214:41: Fehler: falsche Verwendung des unvollständigen Typs »PyFrameObject« {aka »struct _frame«}
       2214 |     if (frame && (std::string) str(frame->f_code->co_name) == name &&
            |                                         ^~
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/pytypedefs.h:22:16: Anmerkung: Vorwärtsdeklaration von »PyFrameObject« {aka »struct _frame«}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:2215:14: Fehler: falsche Verwendung des unvollständigen Typs »PyFrameObject« {aka »struct _frame«}
       2215 |         frame->f_code->co_argcount > 0) {
            |              ^~
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/pytypedefs.h:22:16: Anmerkung: Vorwärtsdeklaration von »PyFrameObject« {aka »struct _frame«}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:2218:18: Fehler: falsche Verwendung des unvollständigen Typs »PyFrameObject« {aka »struct _frame«}
       2218 |             frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
            |                  ^~
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/pytypedefs.h:22:16: Anmerkung: Vorwärtsdeklaration von »PyFrameObject« {aka »struct _frame«}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      In Datei, eingebunden von /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/Python.h:38:
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:2218:52: Fehler: falsche Verwendung des unvollständigen Typs »PyFrameObject« {aka »struct _frame«}
       2218 |             frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
            |                                                    ^~
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/pyport.h:24:38: Anmerkung: in Definition des Makros »_Py_CAST«
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/cpython/tupleobject.h:28:38: Anmerkung: bei Substitution des Makros »_PyTuple_CAST«
         28 | #define PyTuple_GET_ITEM(op, index) (_PyTuple_CAST(op)->ob_item[(index)])
            |                                      ^~~~~~~~~~~~~
      /tmp/pip-build-env-o4iygs_q/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:2218:30: Anmerkung: bei Substitution des Makros »PyTuple_GET_ITEM«
       2218 |             frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
            |                              ^~~~~~~~~~~~~~~~
      /home/lukasm/Applications/miniforge3/envs/parseye/include/python3.12/pytypedefs.h:22:16: Anmerkung: Vorwärtsdeklaration von »PyFrameObject« {aka »struct _frame«}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      error: command '/usr/bin/g++' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for clusopt_core
Failed to build clusopt_core
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (clusopt_core)

When trying the same with Python 3.8 the following error message is produced:

Collecting clusopt_core
  Using cached clusopt_core-1.0.0.tar.gz (35 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting scikit-learn>=0.23.1 (from clusopt_core)
  Downloading scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Collecting numpy<2.0,>=1.17.3 (from scikit-learn>=0.23.1->clusopt_core)
  Downloading numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
Collecting scipy>=1.5.0 (from scikit-learn>=0.23.1->clusopt_core)
  Downloading scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (58 kB)
Collecting joblib>=1.1.1 (from scikit-learn>=0.23.1->clusopt_core)
  Using cached joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)
Collecting threadpoolctl>=2.0.0 (from scikit-learn>=0.23.1->clusopt_core)
  Using cached threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)
Downloading scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.1/11.1 MB 84.2 MB/s eta 0:00:00
Using cached joblib-1.4.2-py3-none-any.whl (301 kB)
Downloading numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.3/17.3 MB 89.8 MB/s eta 0:00:00
Downloading scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.5/34.5 MB 92.4 MB/s eta 0:00:00
Using cached threadpoolctl-3.5.0-py3-none-any.whl (18 kB)
Building wheels for collected packages: clusopt_core
  Building wheel for clusopt_core (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for clusopt_core (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [100 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-38
      creating build/lib.linux-x86_64-cpython-38/clusopt_core
      copying clusopt_core/__init__.py -> build/lib.linux-x86_64-cpython-38/clusopt_core
      creating build/lib.linux-x86_64-cpython-38/clusopt_core/cluster
      copying clusopt_core/cluster/__init__.py -> build/lib.linux-x86_64-cpython-38/clusopt_core/cluster
      creating build/lib.linux-x86_64-cpython-38/clusopt_core/metrics
      copying clusopt_core/metrics/__init__.py -> build/lib.linux-x86_64-cpython-38/clusopt_core/metrics
      creating build/lib.linux-x86_64-cpython-38/clusopt_core/cluster/clustream
      copying clusopt_core/cluster/clustream/__init__.py -> build/lib.linux-x86_64-cpython-38/clusopt_core/cluster/clustream
      creating build/lib.linux-x86_64-cpython-38/clusopt_core/cluster/streamkm
      copying clusopt_core/cluster/streamkm/__init__.py -> build/lib.linux-x86_64-cpython-38/clusopt_core/cluster/streamkm
      running build_ext
      building 'clusopt_core.metrics.silhouette' extension
      creating build/temp.linux-x86_64-cpython-38
      creating build/temp.linux-x86_64-cpython-38/clusopt_core
      creating build/temp.linux-x86_64-cpython-38/clusopt_core/metrics
      g++ -pthread -B /home/lukasm/Applications/miniforge3/envs/test3.8/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include -I/home/lukasm/Applications/miniforge3/envs/test3.8/include/python3.8 -c clusopt_core/metrics/silhouette.cpp -o build/temp.linux-x86_64-cpython-38/clusopt_core/metrics/silhouette.o -O2 -std=c++11 -g0 -fvisibility=hidden
      cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
      In file included from /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:45,
                       from clusopt_core/metrics/silhouette.cpp:1:
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h:199:10: error: ‘uint16_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
        199 |     std::uint16_t nargs;
            |          ^~~~~~~~
            |          wint_t
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h:202:10: error: ‘uint16_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
        202 |     std::uint16_t nargs_kw_only = 0;
            |          ^~~~~~~~
            |          wint_t
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h:205:10: error: ‘uint16_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
        205 |     std::uint16_t nargs_pos_only = 0;
            |          ^~~~~~~~
            |          wint_t
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h: In constructor ‘pybind11::detail::function_call::function_call(const pybind11::detail::function_record&, pybind11::handle)’:
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h:310:20: error: ‘const struct pybind11::detail::function_record’ has no member named ‘nargs’; did you mean ‘args’?
        310 |     args.reserve(f.nargs);
            |                    ^~~~~
            |                    args
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h:311:28: error: ‘const struct pybind11::detail::function_record’ has no member named ‘nargs’; did you mean ‘args’?
        311 |     args_convert.reserve(f.nargs);
            |                            ^~~~~
            |                            args
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h: In function ‘void pybind11::detail::process_kw_only_arg(const pybind11::arg&, function_record*)’:
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h:382:10: error: ‘struct pybind11::detail::function_record’ has no member named ‘nargs_kw_only’
        382 |     ++r->nargs_kw_only;
            |          ^~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h: In static member function ‘static void pybind11::detail::process_attribute<pybind11::pos_only>::init(const pybind11::pos_only&, pybind11::detail::function_record*)’:
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h:439:12: error: ‘struct pybind11::detail::function_record’ has no member named ‘nargs_pos_only’
        439 |         r->nargs_pos_only = static_cast<std::uint16_t>(r->args.size());
            |            ^~~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/attr.h:439:46: error: ‘uint16_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
        439 |         r->nargs_pos_only = static_cast<std::uint16_t>(r->args.size());
            |                                              ^~~~~~~~
            |                                              wint_t
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h: In member function ‘void pybind11::cpp_function::initialize_generic(pybind11::detail::function_record*, const char*, const std::type_info* const*, pybind11::size_t)’:
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:270:26: error: ‘struct pybind11::detail::function_record’ has no member named ‘nargs_kw_only’
        270 |                 if (rec->nargs_kw_only > 0 && arg_index + rec->nargs_kw_only == args)
            |                          ^~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:270:64: error: ‘struct pybind11::detail::function_record’ has no member named ‘nargs_kw_only’
        270 |                 if (rec->nargs_kw_only > 0 && arg_index + rec->nargs_kw_only == args)
            |                                                                ^~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:288:26: error: ‘struct pybind11::detail::function_record’ has no member named ‘nargs_pos_only’
        288 |                 if (rec->nargs_pos_only > 0 && (arg_index + 1) == rec->nargs_pos_only)
            |                          ^~~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:288:72: error: ‘struct pybind11::detail::function_record’ has no member named ‘nargs_pos_only’
        288 |                 if (rec->nargs_pos_only > 0 && (arg_index + 1) == rec->nargs_pos_only)
            |                                                                        ^~~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:330:14: error: ‘struct pybind11::detail::function_record’ has no member named ‘nargs’; did you mean ‘args’?
        330 |         rec->nargs = (std::uint16_t) args;
            |              ^~~~~
            |              args
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:330:28: error: ‘uint16_t’ is not a member of ‘std’; did you mean ‘wint_t’?
        330 |         rec->nargs = (std::uint16_t) args;
            |                            ^~~~~~~~
            |                            wint_t
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h: In static member function ‘static PyObject* pybind11::cpp_function::dispatcher(PyObject*, PyObject*, PyObject*)’:
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:554:40: error: ‘const struct pybind11::detail::function_record’ has no member named ‘nargs’; did you mean ‘args’?
        554 |                 size_t num_args = func.nargs;    // Number of positional arguments that we need
            |                                        ^~~~~
            |                                        args
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:557:51: error: ‘const struct pybind11::detail::function_record’ has no member named ‘nargs_kw_only’
        557 |                 size_t pos_args = num_args - func.nargs_kw_only;
            |                                                   ^~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:607:40: error: ‘const struct pybind11::detail::function_record’ has no member named ‘nargs_pos_only’
        607 |                 if (args_copied < func.nargs_pos_only) {
            |                                        ^~~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:608:47: error: ‘const struct pybind11::detail::function_record’ has no member named ‘nargs_pos_only’
        608 |                     for (; args_copied < func.nargs_pos_only; ++args_copied) {
            |                                               ^~~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:622:44: error: ‘const struct pybind11::detail::function_record’ has no member named ‘nargs_pos_only’
        622 |                     if (args_copied < func.nargs_pos_only)
            |                                            ^~~~~~~~~~~~~~
      /tmp/pip-build-env-3q4x1mzu/overlay/lib/python3.8/site-packages/pybind11/include/pybind11/pybind11.h:710:53: error: ‘const struct pybind11::detail::function_record’ has no member named ‘nargs’; did you mean ‘args’?
        710 |                     second_pass_convert.resize(func.nargs, false);
            |                                                     ^~~~~
            |                                                     args
      error: command '/usr/bin/g++' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for clusopt_core
Failed to build clusopt_core
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (clusopt_core)
giuliano-macedo commented 2 months ago

Hey @filemon11 thanks for letting me know! I will take a look soon

filemon11 commented 1 month ago

Addition: I also tested it on CentOS with Python 3.6.5 and gcc version 6.1.0. It produces an error too:

[lumie101@hpc-login7 parseye]$ PIP_CONFIG_FILE=/software/python/pip.conf pip install clusopt-core
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: http://pypi.repo.test.hhu.de/simple/
Collecting clusopt-core
  Using cached http://pypi.repo.test.hhu.de/packages/96/28/baf60b8d73bea22cb211e12d024d42676be30594223a14fbd2e80d107700/clusopt_core-1.0.0.tar.gz (35 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting scikit-learn>=0.23.1
  Using cached http://pypi.repo.test.hhu.de/packages/d3/eb/d0e658465c029feb7083139d9ead51000742e88b1fb7f1504e19e1b4ce6e/scikit_learn-0.24.2-cp36-cp36m-manylinux2010_x86_64.whl (22.2 MB)
Collecting threadpoolctl>=2.0.0
  Using cached http://pypi.repo.test.hhu.de/packages/61/cf/6e354304bcb9c6413c4e02a747b600061c21d38ba51e7e544ac7bc66aecc/threadpoolctl-3.1.0-py3-none-any.whl (14 kB)
Requirement already satisfied: numpy>=1.13.3 in /software/python/3.6.5/ivybridge/lib/python3.6/site-packages (from scikit-learn>=0.23.1->clusopt-core) (1.14.3)
Requirement already satisfied: scipy>=0.19.1 in /software/python/3.6.5/ivybridge/lib/python3.6/site-packages (from scikit-learn>=0.23.1->clusopt-core) (1.1.0)
Collecting joblib>=0.11
  Using cached http://pypi.repo.test.hhu.de/packages/7c/91/d3ba0401e62d7e42816bc7d97b82d19c95c164b3e149a87c0a1c026a735e/joblib-1.1.1-py2.py3-none-any.whl (309 kB)
Building wheels for collected packages: clusopt-core
  Building wheel for clusopt-core (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /software/python/3.6.5/ivybridge/bin/python3.6 /home/lumie101/.local/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp2ra6j0rx
       cwd: /tmp/pip-install-2f8pgknt/clusopt-core_3a5d59ab68274355aa5d9edc66e0010f
  Complete output (71 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.6
  creating build/lib.linux-x86_64-3.6/clusopt_core
  copying clusopt_core/__init__.py -> build/lib.linux-x86_64-3.6/clusopt_core
  creating build/lib.linux-x86_64-3.6/clusopt_core/cluster
  copying clusopt_core/cluster/__init__.py -> build/lib.linux-x86_64-3.6/clusopt_core/cluster
  creating build/lib.linux-x86_64-3.6/clusopt_core/metrics
  copying clusopt_core/metrics/__init__.py -> build/lib.linux-x86_64-3.6/clusopt_core/metrics
  creating build/lib.linux-x86_64-3.6/clusopt_core/cluster/clustream
  copying clusopt_core/cluster/clustream/__init__.py -> build/lib.linux-x86_64-3.6/clusopt_core/cluster/clustream
  creating build/lib.linux-x86_64-3.6/clusopt_core/cluster/streamkm
  copying clusopt_core/cluster/streamkm/__init__.py -> build/lib.linux-x86_64-3.6/clusopt_core/cluster/streamkm
  running build_ext
  building 'clusopt_core.metrics.silhouette' extension
  creating build/temp.linux-x86_64-3.6
  creating build/temp.linux-x86_64-3.6/clusopt_core
  creating build/temp.linux-x86_64-3.6/clusopt_core/metrics
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/metrics/silhouette.cpp -o build/temp.linux-x86_64-3.6/clusopt_core/metrics/silhouette.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1plus: Warnung: Kommandozeilenoption »-Wstrict-prototypes« ist gültig für C/ObjC, aber nicht für C++
  g++ -pthread -shared build/temp.linux-x86_64-3.6/clusopt_core/metrics/silhouette.o -o build/lib.linux-x86_64-3.6/clusopt_core/metrics/silhouette.cpython-36m-x86_64-linux-gnu.so -O2 -std=c++11 -g0 -fvisibility=hidden
  building 'clusopt_core.metrics.dist_matrix' extension
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/metrics/dist_matrix.cpp -o build/temp.linux-x86_64-3.6/clusopt_core/metrics/dist_matrix.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1plus: Warnung: Kommandozeilenoption »-Wstrict-prototypes« ist gültig für C/ObjC, aber nicht für C++
  g++ -pthread -shared build/temp.linux-x86_64-3.6/clusopt_core/metrics/dist_matrix.o -lboost_system -lboost_thread -o build/lib.linux-x86_64-3.6/clusopt_core/metrics/dist_matrix.cpython-36m-x86_64-linux-gnu.so -O2 -std=c++11 -g0 -fvisibility=hidden
  building 'clusopt_core.cluster.clustream.clustream' extension
  creating build/temp.linux-x86_64-3.6/clusopt_core/cluster
  creating build/temp.linux-x86_64-3.6/clusopt_core/cluster/clustream
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/clustream/bindings.cpp -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/clustream/bindings.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1plus: Warnung: Kommandozeilenoption »-Wstrict-prototypes« ist gültig für C/ObjC, aber nicht für C++
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/clustream/clustream.cpp -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/clustream/clustream.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1plus: Warnung: Kommandozeilenoption »-Wstrict-prototypes« ist gültig für C/ObjC, aber nicht für C++
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/clustream/kernel.cpp -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/clustream/kernel.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1plus: Warnung: Kommandozeilenoption »-Wstrict-prototypes« ist gültig für C/ObjC, aber nicht für C++
  g++ -pthread -shared build/temp.linux-x86_64-3.6/clusopt_core/cluster/clustream/bindings.o build/temp.linux-x86_64-3.6/clusopt_core/cluster/clustream/clustream.o build/temp.linux-x86_64-3.6/clusopt_core/cluster/clustream/kernel.o -o build/lib.linux-x86_64-3.6/clusopt_core/cluster/clustream/clustream.cpython-36m-x86_64-linux-gnu.so -O2 -std=c++11 -g0 -fvisibility=hidden
  building 'clusopt_core.cluster.streamkm.streamkm' extension
  creating build/temp.linux-x86_64-3.6/clusopt_core/cluster/streamkm
  creating build/temp.linux-x86_64-3.6/clusopt_core/cluster/streamkm/original
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/streamkm/bindings.cpp -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/streamkm/bindings.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1plus: Warnung: Kommandozeilenoption »-Wstrict-prototypes« ist gültig für C/ObjC, aber nicht für C++
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/streamkm/wrapper.cpp -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/streamkm/wrapper.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1plus: Warnung: Kommandozeilenoption »-Wstrict-prototypes« ist gültig für C/ObjC, aber nicht für C++
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/streamkm/original/DatasetFunctions.c -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/streamkm/original/DatasetFunctions.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/streamkm/original/LloydPlusPlus.c -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/streamkm/original/LloydPlusPlus.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/streamkm/original/Point.c -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/streamkm/original/Point.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
  gcc -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-0pglwzky/overlay/lib/python3.6/site-packages/pybind11/include -I/software/python/3.6.5/ivybridge/include/python3.6m -c clusopt_core/cluster/streamkm/original/StreamingCoreset.c -o build/temp.linux-x86_64-3.6/clusopt_core/cluster/streamkm/original/StreamingCoreset.o -O2 -std=c++11 -g0 -fvisibility=hidden
  cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
  clusopt_core/cluster/streamkm/original/StreamingCoreset.c: In Funktion »initBucket«:
  clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:20: Fehler: »point« nicht deklariert (erste Benutzung in dieser Funktion)
    bucket->points = (point *)malloc(maxsize * sizeof(struct point));
                      ^~~~~
  clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:20: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet
  clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:27: Fehler: expected expression before »)« token
    bucket->points = (point *)malloc(maxsize * sizeof(struct point));
                             ^
  clusopt_core/cluster/streamkm/original/StreamingCoreset.c:16:30: Fehler: expected expression before »)« token
    bucket->spillover = (point *)malloc(maxsize * sizeof(struct point));
                                ^
  clusopt_core/cluster/streamkm/original/StreamingCoreset.c: In Funktion »initManager«:
  clusopt_core/cluster/streamkm/original/StreamingCoreset.c:30:22: Fehler: »Bucket« nicht deklariert (erste Benutzung in dieser Funktion)
    manager->buckets = (Bucket *)malloc(manager->numberOfBuckets * sizeof(struct Bucket));
                        ^~~~~~
  clusopt_core/cluster/streamkm/original/StreamingCoreset.c:30:30: Fehler: expected expression before »)« token
    manager->buckets = (Bucket *)malloc(manager->numberOfBuckets * sizeof(struct Bucket));
                                ^
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for clusopt-core
Failed to build clusopt-core
ERROR: Could not build wheels for clusopt-core, which is required to install pyproject.toml-based projects

I'm sorry for the German error messages. I can't change them to English on this cluster.

giuliano-macedo commented 1 month ago

@filemon11 I've just published 1.1.0 can you try again?

filemon11 commented 1 month ago

@giuliano-macedo Thanks! Now it works on Manjaro, Python 3.12.5, gcc 14.2.1 but unfortunately not on CentOS, Python 3.12.3, gcc 13.2.0. Should I do something differently?

(venv) [lumie101@hpc-login7 parseye]$ PIP_CONFIG_FILE=/software/python/pip.conf pip install clusopt-core==1.1.1
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: http://pypi.repo.test.hhu.de/simple/
Collecting clusopt-core==1.1.1
  Using cached http://pypi.repo.test.hhu.de/packages/b2/d0/c54d3e7357ddc6aed8b3479d7539f71074587c9ebb4e9a9d8a24eb697e48/clusopt_core-1.1.1.tar.gz (37 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting scikit-learn>=0.23.1 (from clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/8a/5d/047cde25131eef3a38d03317fa7d25d6f60ce6e8ccfd24ac88b3e309fc00/scikit_learn-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)
Collecting numpy>=1.19.5 (from scikit-learn>=0.23.1->clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/cb/22/2b840d297183916a95847c11f82ae11e248fa98113490b2357f774651e1d/numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
Collecting scipy>=1.6.0 (from scikit-learn>=0.23.1->clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/8e/ee/8a26858ca517e9c64f84b4c7734b89bda8e63bec85c3d2f432d225bb1886/scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
Collecting joblib>=1.2.0 (from scikit-learn>=0.23.1->clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)
Collecting threadpoolctl>=3.1.0 (from scikit-learn>=0.23.1->clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)
Using cached http://pypi.repo.test.hhu.de/packages/8a/5d/047cde25131eef3a38d03317fa7d25d6f60ce6e8ccfd24ac88b3e309fc00/scikit_learn-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)
Using cached http://pypi.repo.test.hhu.de/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl (301 kB)
Using cached http://pypi.repo.test.hhu.de/packages/cb/22/2b840d297183916a95847c11f82ae11e248fa98113490b2357f774651e1d/numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB)
Using cached http://pypi.repo.test.hhu.de/packages/8e/ee/8a26858ca517e9c64f84b4c7734b89bda8e63bec85c3d2f432d225bb1886/scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.8 MB)
Using cached http://pypi.repo.test.hhu.de/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl (18 kB)
Building wheels for collected packages: clusopt-core
  Building wheel for clusopt-core (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for clusopt-core (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [65 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-312
      creating build/lib.linux-x86_64-cpython-312/clusopt_core
      copying clusopt_core/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster
      copying clusopt_core/cluster/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/metrics
      copying clusopt_core/metrics/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/metrics
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/clustream
      copying clusopt_core/cluster/clustream/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/clustream
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm
      copying clusopt_core/cluster/streamkm/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm
      copying clusopt_core/cluster/__init__.pyi -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster
      copying clusopt_core/metrics/__init__.pyi -> build/lib.linux-x86_64-cpython-312/clusopt_core/metrics
      running build_ext
      building 'clusopt_core.metrics.silhouette' extension
      creating build/temp.linux-x86_64-cpython-312
      creating build/temp.linux-x86_64-cpython-312/clusopt_core
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/metrics
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/metrics/silhouette.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/silhouette.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -pthread -shared build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/silhouette.o -L/software/python/3.12.3/skylake/lib -o build/lib.linux-x86_64-cpython-312/clusopt_core/metrics/silhouette.cpython-312-x86_64-linux-gnu.so -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      building 'clusopt_core.metrics.dist_matrix' extension
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/metrics/dist_matrix.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/dist_matrix.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -pthread -shared build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/dist_matrix.o -L/software/python/3.12.3/skylake/lib -lboost_system -lboost_thread -o build/lib.linux-x86_64-cpython-312/clusopt_core/metrics/dist_matrix.cpython-312-x86_64-linux-gnu.so -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      building 'clusopt_core.cluster.clustream.clustream' extension
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/cluster
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/clustream/bindings.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/bindings.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/clustream/clustream.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/clustream.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/clustream/kernel.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/kernel.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -pthread -shared build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/bindings.o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/clustream.o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/kernel.o -L/software/python/3.12.3/skylake/lib -o build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/clustream.cpython-312-x86_64-linux-gnu.so -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      building 'clusopt_core.cluster.streamkm.streamkm' extension
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/bindings.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/bindings.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/original/DatasetFunctions.c -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original/DatasetFunctions.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
      gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/original/LloydPlusPlus.c -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original/LloydPlusPlus.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
      gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/original/Point.c -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original/Point.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
      gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-gvlecnx9/overlay/lib/python3.12/site-packages/pybind11/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/original/StreamingCoreset.c -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original/StreamingCoreset.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c: In Funktion »initBucket«:
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:27: Fehler: »point« nicht deklariert (erste Verwendung in dieser Funktion)
         15 |         bucket->points = (point *)malloc(maxsize * sizeof(struct point));
            |                           ^~~~~
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:27: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:34: Fehler: expected expression before »)« token
         15 |         bucket->points = (point *)malloc(maxsize * sizeof(struct point));
            |                                  ^
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:16:37: Fehler: expected expression before »)« token
         16 |         bucket->spillover = (point *)malloc(maxsize * sizeof(struct point));
            |                                     ^
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c: In Funktion »initManager«:
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:30:29: Fehler: »Bucket« nicht deklariert (erste Verwendung in dieser Funktion)
         30 |         manager->buckets = (Bucket *)malloc(manager->numberOfBuckets * sizeof(struct Bucket));
            |                             ^~~~~~
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:30:37: Fehler: expected expression before »)« token
         30 |         manager->buckets = (Bucket *)malloc(manager->numberOfBuckets * sizeof(struct Bucket));
            |                                     ^
      error: command '/software/gcc/13.2.0/skylake/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for clusopt-core
Failed to build clusopt-core
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (clusopt-core)
giuliano-macedo commented 1 month ago

@filemon11 For some reason pybind11 isn't including the headers files properly in your case.

I couldn't reproduce your error on docker... Try explicitly installing pybind11 with: pip install pybind11==2.13.5

filemon11 commented 1 month ago

Thanks for your help. Unfortunately it still does not work. The error still seems to be the same. I'll ask my administrator for support. Perhaps it has nothing to do with your module.

$ PIP_CONFIG_FILE=/software/python/pip.conf pip install pybind11==2.13.5
Looking in indexes: http://pypi.repo.test.hhu.de/simple/
Requirement already satisfied: pybind11==2.13.5 in /home/lumie101/.local/lib/python3.12/site-packages (2.13.5)
(venv) [lumie101@hpc-login7 parseye]$ PIP_CONFIG_FILE=/software/python/pip.conf pip install clusopt-core==1.1.1
Looking in indexes: http://pypi.repo.test.hhu.de/simple/
Collecting clusopt-core==1.1.1
  Using cached http://pypi.repo.test.hhu.de/packages/b2/d0/c54d3e7357ddc6aed8b3479d7539f71074587c9ebb4e9a9d8a24eb697e48/clusopt_core-1.1.1.tar.gz (37 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting scikit-learn>=0.23.1 (from clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/c6/29/044048c5e911373827c0e1d3051321b9183b2a4f8d4e2f11c08fcff83f13/scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)
Collecting numpy>=1.19.5 (from scikit-learn>=0.23.1->clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/cb/22/2b840d297183916a95847c11f82ae11e248fa98113490b2357f774651e1d/numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
Collecting scipy>=1.6.0 (from scikit-learn>=0.23.1->clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/8e/ee/8a26858ca517e9c64f84b4c7734b89bda8e63bec85c3d2f432d225bb1886/scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (60 kB)
Collecting joblib>=1.2.0 (from scikit-learn>=0.23.1->clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)
Collecting threadpoolctl>=3.1.0 (from scikit-learn>=0.23.1->clusopt-core==1.1.1)
  Using cached http://pypi.repo.test.hhu.de/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)
Using cached http://pypi.repo.test.hhu.de/packages/c6/29/044048c5e911373827c0e1d3051321b9183b2a4f8d4e2f11c08fcff83f13/scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.9 MB)
Using cached http://pypi.repo.test.hhu.de/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl (301 kB)
Using cached http://pypi.repo.test.hhu.de/packages/cb/22/2b840d297183916a95847c11f82ae11e248fa98113490b2357f774651e1d/numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB)
Using cached http://pypi.repo.test.hhu.de/packages/8e/ee/8a26858ca517e9c64f84b4c7734b89bda8e63bec85c3d2f432d225bb1886/scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.8 MB)
Using cached http://pypi.repo.test.hhu.de/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl (18 kB)
Building wheels for collected packages: clusopt-core
  Building wheel for clusopt-core (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for clusopt-core (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [60 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-312/clusopt_core
      copying clusopt_core/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster
      copying clusopt_core/cluster/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/metrics
      copying clusopt_core/metrics/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/metrics
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/clustream
      copying clusopt_core/cluster/clustream/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/clustream
      creating build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm
      copying clusopt_core/cluster/streamkm/__init__.py -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm
      copying clusopt_core/cluster/__init__.pyi -> build/lib.linux-x86_64-cpython-312/clusopt_core/cluster
      copying clusopt_core/metrics/__init__.pyi -> build/lib.linux-x86_64-cpython-312/clusopt_core/metrics
      running build_ext
      building 'clusopt_core.metrics.silhouette' extension
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/metrics
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/metrics/silhouette.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/silhouette.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -pthread -shared build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/silhouette.o -L/software/python/3.12.3/skylake/lib -o build/lib.linux-x86_64-cpython-312/clusopt_core/metrics/silhouette.cpython-312-x86_64-linux-gnu.so -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      building 'clusopt_core.metrics.dist_matrix' extension
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/metrics/dist_matrix.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/dist_matrix.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -pthread -shared build/temp.linux-x86_64-cpython-312/clusopt_core/metrics/dist_matrix.o -L/software/python/3.12.3/skylake/lib -lboost_system -lboost_thread -o build/lib.linux-x86_64-cpython-312/clusopt_core/metrics/dist_matrix.cpython-312-x86_64-linux-gnu.so -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      building 'clusopt_core.cluster.clustream.clustream' extension
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/clustream/bindings.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/bindings.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/clustream/clustream.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/clustream.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/clustream/kernel.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/kernel.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -pthread -shared build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/bindings.o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/clustream.o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/kernel.o -L/software/python/3.12.3/skylake/lib -o build/lib.linux-x86_64-cpython-312/clusopt_core/cluster/clustream/clustream.cpython-312-x86_64-linux-gnu.so -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      building 'clusopt_core.cluster.streamkm.streamkm' extension
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm
      creating build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original
      g++ -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/bindings.cpp -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/bindings.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/original/DatasetFunctions.c -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original/DatasetFunctions.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
      gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/original/LloydPlusPlus.c -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original/LloydPlusPlus.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
      gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/original/Point.c -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original/Point.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
      gcc -fno-strict-overflow -DNDEBUG -g -O3 -Wall -fno-semantic-interposition -fno-semantic-interposition -fPIC -I/tmp/pip-build-env-f8kv14d0/overlay/lib/python3.12/site-packages/pybind11/include -I/home/lumie101/parseye/venv/include -I/software/python/3.12.3/skylake/include/python3.12 -c clusopt_core/cluster/streamkm/original/StreamingCoreset.c -o build/temp.linux-x86_64-cpython-312/clusopt_core/cluster/streamkm/original/StreamingCoreset.o -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -fvisibility=hidden -g0 -O2 -std=c++11 -g0
      cc1: Warnung: Kommandozeilenoption »-std=c++11« ist gültig für C++/ObjC++, aber nicht für C
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c: In Funktion »initBucket«:
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:27: Fehler: »point« nicht deklariert (erste Verwendung in dieser Funktion)
         15 |         bucket->points = (point *)malloc(maxsize * sizeof(struct point));
            |                           ^~~~~
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:27: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:15:34: Fehler: expected expression before »)« token
         15 |         bucket->points = (point *)malloc(maxsize * sizeof(struct point));
            |                                  ^
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:16:37: Fehler: expected expression before »)« token
         16 |         bucket->spillover = (point *)malloc(maxsize * sizeof(struct point));
            |                                     ^
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c: In Funktion »initManager«:
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:30:29: Fehler: »Bucket« nicht deklariert (erste Verwendung in dieser Funktion)
         30 |         manager->buckets = (Bucket *)malloc(manager->numberOfBuckets * sizeof(struct Bucket));
            |                             ^~~~~~
      clusopt_core/cluster/streamkm/original/StreamingCoreset.c:30:37: Fehler: expected expression before »)« token
         30 |         manager->buckets = (Bucket *)malloc(manager->numberOfBuckets * sizeof(struct Bucket));
            |                                     ^
      error: command '/software/gcc/13.2.0/skylake/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for clusopt-core
Failed to build clusopt-core
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (clusopt-core)
oweingart commented 1 month ago

It seems that adding some aliases to TreeCoreset.h, StreamingCoreset.h and Point.h fixed the problem. I added

typedef struct point point;

trypedef struct Bucket Bucket;

typedef struct treeNode treeNode;

under the corresponding struct definitions in the .h files and now it compiles in Centos 7.9