I have been trying to install cyclicbm on my machine and failing to do so (error below). I have created this PR to fix the issue and it's working for me, however since my C/C++ knowledge is very limited, please advise regarding the root cause of the problem. Thank you!
× Building editable for cyclicbm (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [104 lines of output]
running editable_wheel
creating /tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm.egg-info
writing /tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm.egg-info/dependency_links.txt
writing requirements to /tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm.egg-info/requires.txt
writing top-level names to /tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm.egg-info/top_level.txt
writing manifest file '/tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.c' under directory 'src'
adding license file 'LICENSE'
writing manifest file '/tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm.egg-info/SOURCES.txt'
creating '/tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm-0.0.9.dist-info'
creating /tmp/pip-wheel-9w1cy4ni/.tmp-e50tis6z/cyclicbm-0.0.9.dist-info/WHEEL
running build_py
running build_ext
building 'cbm_cpp' extension
creating /tmp/tmpdwzr6_2q.build-temp/src
gcc -pthread -B /home/truonghm/work/simcel/simcel-core/CELPY/Library/.conda/forecaster/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/pybind11/include -I/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/pybind11/include -Isrc -I/home/truonghm/work/simcel/simcel-core/CELPY/Library/.conda/forecaster/include/python3.8 -c src/cbm.cpp -o /tmp/tmpdwzr6_2q.build-temp/src/cbm.o -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c++11 -Wall -Wextra -march=native -msse2 -ffast-math -mfpmath=sse -fopenmp -lgomp
cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
gcc -pthread -B /home/truonghm/work/simcel/simcel-core/CELPY/Library/.conda/forecaster/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/pybind11/include -I/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/pybind11/include -Isrc -I/home/truonghm/work/simcel/simcel-core/CELPY/Library/.conda/forecaster/include/python3.8 -c src/pycbm.cpp -o /tmp/tmpdwzr6_2q.build-temp/src/pycbm.o -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c++11 -Wall -Wextra -march=native -msse2 -ffast-math -mfpmath=sse -fopenmp -lgomp
cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from src/pycbm.h:10,
from src/pycbm.cpp:4:
src/cbm.h: In member function ‘void cbm::CBM::fit_internal(const uint32_t*, const char*, size_t, size_t, size_t, size_t, double, const uint32_t*, double, size_t, size_t, double, bool, float (*)(const uint32_t*, const double*, size_t))’:
src/cbm.h:134:33: error: ‘numeric_limits’ is not a member of ‘std’
134 | double rmse0 = std::numeric_limits<double>::infinity();
| ^~~~~~~~~~~~~~
src/cbm.h:134:48: error: expected primary-expression before ‘double’
134 | double rmse0 = std::numeric_limits<double>::infinity();
| ^~~~~~
Traceback (most recent call last):
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/unixccompiler.py", line 185, in _compile
self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/ccompiler.py", line 1041, in spawn
spawn(cmd, dry_run=self.dry_run, **kwargs)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/spawn.py", line 70, in spawn
raise DistutilsExecError(
distutils.errors.DistutilsExecError: command '/usr/bin/gcc' failed with exit code 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 156, in run
self._create_wheel_file(bdist_wheel)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 345, in _create_wheel_file
files, mapping = self._run_build_commands(dist_name, unpacked, lib, tmp)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 268, in _run_build_commands
self._run_build_subcommands()
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 295, in _run_build_subcommands
self.run_command(name)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1233, in run_command
super().run_command(command)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 88, in run
_build_ext.run(self)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
self.build_extensions()
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
self._build_extensions_serial()
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
self.build_extension(ext)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 249, in build_extension
_build_ext.build_extension(self, ext)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
objects = self.compiler.compile(
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/ccompiler.py", line 600, in compile
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File "/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/unixccompiler.py", line 187, in _compile
raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1
/tmp/pip-build-env-x9cbfyq7/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py:988: _DebuggingTips: Problem in editable installation.
!!