qmlcode / qml

QML: Quantum Machine Learning
MIT License
197 stars 84 forks source link

Space in -pthread arguments fails compilation #124

Open guimaluf opened 4 years ago

guimaluf commented 4 years ago

I followed Installing via with Intel compilers instructions and got this error:

ifort: error #10236: File not found:  ' -lpthread'

I've look at the compiling command and realise that was a extra space in the pthread argument.

https://github.com/qmlcode/qml/blob/master/setup.py#L41 https://github.com/qmlcode/qml/blob/master/setup.py#L28

I'm attaching the patch to fix that. remove_pthread_extra_space.patch.txt

git apply remove_pthread_extra_space.patch.txt

maxjr82 commented 4 years ago

I am also having problems to compile the code using Intel compilers. I am trying to install via pip by specifying the Intel compiler options:

pip install qml --user -U --global-option="build" --global-option="--compiler=intelem" --global-option="--fcompiler=intelem"

But the installation breaks with an error message regarding the lpthread. So how can I use/apply the patch to correct the problem with the extra space?

Or if I clone the repository to my computer, how can I pass the compiler options argument for the setup.py installer?

guimaluf commented 4 years ago

download __remove_pthread_extra_space.patch.txt__ file and run git apply remove_pthread_extra_space.patch.txt

maxjr82 commented 4 years ago

Ok, this I understood. But once the patch has been applied to the local setup.py file, how to pass the intel compiler options in the command line for the local installation? Based on the git command for the installation using intel compiler, I tried something like this

python setup.py --compiler=intelem --fcompiler=intelem

but "compiler" option is not recognized. So I would like to know how to proceed after the patch. I will appreciate any help you can provide. Thanks!

f3rmion commented 3 years ago

Hi @maxjr82,

I know this is already quite old, but today I faced the same problem and solved it as follows: 1) Create fresh conda env (e.g., qml) 2) Download source from PyPI and extract (why is the GH version still at version 0.4.0.12 while the PyPI version is at 0.4.0.27?) 3) Make changes according to @guimaluf to the setup.py (remove whitespaces) 4) Install requirements inside qml env (numpy, ase, scipy) 4) pip install with this command locally within the qml env

pip install . --global-option="build" --global-option="--compiler=intelem" --global-option="--fcompiler=intelem"