Version 0.4.7 crashing when LinearRegression.fit() invoked
MattWenham opened this issue · 3 comments
This is possibly related to issue #496.
Describe the bug
Multiple attempts to use LinearRegression.fit()
in version 0.4.7 appears to cause a crash. Unlike with #496, we are unable to build from source.
Code for Reproduction
Any non-trivial invocation of LinearRegression.fit()
.
Uninstalling and then attempting to reinstall from source using pip install abess==0.4.7 --no-binary=abess
results in an error:
/tmp/pip-install-wejh_wj5/abess_7276a548a8a440aeae70ea9965e1f2b1/src/pywrap.cpp:1:10: fatal error: pybind11/eigen.h: No such file or directory
1 | #include <pybind11/eigen.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
Expected behavior
LinearRegression.fit()
should run, and package should compile from source.
Desktop (please complete the following information):
- OS: Linux-5.15.90.1-microsoft-standard-WSL2
- Python Version: 3.9.16
- Package Version: 0.4.7
Current Workaround
Compile version 0.4.6 from source.
On Linux-5.15.0-1039-azure (i.e. not WSL) LinearRegression.fit()
appears to run, but compilation still crashes with the same error.
My apologies for effectively putting two bugs into one issue.
Hi @MattWenham, it's a pleasure to answer your question. Based on your information, the compilation error was caused by missing pybind11
, a compiling tool that should be installed before installing abess
from the source. This code may be helpful:
pip install pybind11[global]
The detailed installation way can be found in the documentation.
Please message us if you have any more questions.
Thank you for your reply.
It turns out that my pybind
installation is corrupted somehow, as both pip
and conda
see it as installed, but when I try to uninstall
with pip
, it can't be found to remove it.
I can compile 0.4.7 okay in a fresh environment.