ntucllab / libact

Pool-based active learning in Python
http://libact.readthedocs.org/
BSD 2-Clause "Simplified" License
776 stars 174 forks source link

Problems installing in Linux #114

Closed piperod closed 7 years ago

piperod commented 7 years ago

Hello,

I am trying to install Libact in the HPC facilites of my university. However I am getting the following error every time I try to install it:

error: Command "gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/rmegret/irodriguez/anaconda3/envs/bee/lib/python3.6/site-packages/numpy/core/include -I/usr/include/lapacke -I/home/rmegret/irodriguez/anaconda3/envs/bee/include/python3.6m -c libact/query_strategies/src/variance_reduction/variance_reduction.c -o build/temp.linux-x86_64-3.6/libact/query_strategies/src/variance_reduction/variance_reduction.o -std=c11" failed with exit status 1

I have tried pip and cloning the repo and then using setup.py.

Just in case here is the specifications of the HPC: https://www.hpcf.upr.edu/documentation/boqueron/#ffs-tabbed-15

yangarbiter commented 7 years ago

Do you have more error messages? Like the messages before this line of error?

piperod commented 7 years ago

Thank you for the question. Here is the full log:

Platform Detection: Linux. Link to liblapacke... Compiling libact/query_strategies/_hintsvm.pyx because it changed. [1/1] Cythonizing libact/query_strategies/_hintsvm.pyx running install running bdist_egg running egg_info creating libact.egg-info writing libact.egg-info/PKG-INFO writing dependency_links to libact.egg-info/dependency_links.txt writing requirements to libact.egg-info/requires.txt writing top-level names to libact.egg-info/top_level.txt writing manifest file 'libact.egg-info/SOURCES.txt' reading manifest file 'libact.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'libact.egg-info/SOURCES.txt' installing library code to build/bdist.linux-x86_64/egg running install_lib running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/libact copying libact/init.py -> build/lib.linux-x86_64-3.6/libact creating build/lib.linux-x86_64-3.6/libact/base copying libact/base/init.py -> build/lib.linux-x86_64-3.6/libact/base copying libact/base/dataset.py -> build/lib.linux-x86_64-3.6/libact/base copying libact/base/interfaces.py -> build/lib.linux-x86_64-3.6/libact/base creating build/lib.linux-x86_64-3.6/libact/models copying libact/models/init.py -> build/lib.linux-x86_64-3.6/libact/models copying libact/models/logistic_regression.py -> build/lib.linux-x86_64-3.6/libact/models copying libact/models/perceptron.py -> build/lib.linux-x86_64-3.6/libact/models copying libact/models/sklearn_adapter.py -> build/lib.linux-x86_64-3.6/libact/models copying libact/models/svm.py -> build/lib.linux-x86_64-3.6/libact/models creating build/lib.linux-x86_64-3.6/libact/models/multilabel copying libact/models/multilabel/init.py -> build/lib.linux-x86_64-3.6/libact/models/multilabel copying libact/models/multilabel/binary_relevance.py -> build/lib.linux-x86_64-3.6/libact/models/multilabel copying libact/models/multilabel/dummy_clf.py -> build/lib.linux-x86_64-3.6/libact/models/multilabel creating build/lib.linux-x86_64-3.6/libact/labelers copying libact/labelers/init.py -> build/lib.linux-x86_64-3.6/libact/labelers copying libact/labelers/ideal_labeler.py -> build/lib.linux-x86_64-3.6/libact/labelers copying libact/labelers/interactive_labeler.py -> build/lib.linux-x86_64-3.6/libact/labelers creating build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/init.py -> build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/active_learning_by_learning.py -> build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/density_weighted_uncertainty_sampling.py -> build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/hintsvm.py -> build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/query_by_committee.py -> build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/quire.py -> build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/random_sampling.py -> build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/uncertainty_sampling.py -> build/lib.linux-x86_64-3.6/libact/query_strategies copying libact/query_strategies/variance_reduction.py -> build/lib.linux-x86_64-3.6/libact/query_strategies creating build/lib.linux-x86_64-3.6/libact/query_strategies/multilabel copying libact/query_strategies/multilabel/init.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multilabel copying libact/query_strategies/multilabel/adaptive_active_learning.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multilabel copying libact/query_strategies/multilabel/binary_minimization.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multilabel copying libact/query_strategies/multilabel/maximum_margin_reduction.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multilabel copying libact/query_strategies/multilabel/multilable_with_auxiliary_learner.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multilabel creating build/lib.linux-x86_64-3.6/libact/query_strategies/multiclass copying libact/query_strategies/multiclass/init.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multiclass copying libact/query_strategies/multiclass/active_learning_with_cost_embedding.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multiclass copying libact/query_strategies/multiclass/expected_error_reduction.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multiclass copying libact/query_strategies/multiclass/hierarchical_sampling.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multiclass copying libact/query_strategies/multiclass/mdsp.py -> build/lib.linux-x86_64-3.6/libact/query_strategies/multiclass creating build/lib.linux-x86_64-3.6/libact/utils copying libact/utils/init.py -> build/lib.linux-x86_64-3.6/libact/utils running build_ext building 'libact.query_strategies._variance_reduction' extension C compiler: gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC

creating build/temp.linux-x86_64-3.6 creating build/temp.linux-x86_64-3.6/libact creating build/temp.linux-x86_64-3.6/libact/query_strategies creating build/temp.linux-x86_64-3.6/libact/query_strategies/src creating build/temp.linux-x86_64-3.6/libact/query_strategies/src/variance_reduction compile options: '-I/home/rmegret/irodriguez/anaconda3/envs/bee/lib/python3.6/site-packages/numpy/core/include -I/usr/include/lapacke -I/home/rmegret/irodriguez/anaconda3/envs/bee/include/python3.6m -c' extra options: '-std=c11' Warning: Can't read registry to find the necessary compiler setting Make sure that Python modules winreg, win32api or win32con are installed. gcc: libact/query_strategies/src/variance_reduction/variance_reduction.c libact/query_strategies/src/variance_reduction/variance_reduction.c:5:21: fatal error: lapacke.h: No such file or directory compilation terminated. libact/query_strategies/src/variance_reduction/variance_reduction.c:5:21: fatal error: lapacke.h: No such file or directory compilation terminated. error: Command "gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/rmegret/irodriguez/anaconda3/envs/bee/lib/python3.6/site-packages/numpy/core/include -I/usr/include/lapacke -I/home/rmegret/irodriguez/anaconda3/envs/bee/include/python3.6m -c libact/query_strategies/src/variance_reduction/variance_reduction.c -o build/temp.linux-x86_64-3.6/libact/query_strategies/src/variance_reduction/variance_reduction.o -std=c11" failed with exit status 1

yangarbiter commented 7 years ago

The problem seem to be here

libact/query_strategies/src/variance_reduction/variance_reduction.c:5:21: fatal error: lapacke.h: No such file or directory

ask your administrator to install the lapacke library for you if on debian-like system:

sudo apt-get install build-essential gfortran libatlas-base-dev liblapacke-dev python3-dev

yangarbiter commented 7 years ago

Or if your lapacke is installed else where other than /usr/lib/

edit this line in setup.py

https://github.com/ntucllab/libact/blob/master/setup.py#L30

piperod commented 7 years ago

Yes, it worked fine. Thank you very much. I suggest maybe being available for anaconda makes it easier for the linking of the libraries.

souvenir13 commented 7 years ago

it really worked for me!!!!!thank you so much!!!! @yangarbiter