ntucllab / libact

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

error: conflicting types for ‘dgesvd_’ #177

Closed yangarbiter closed 3 years ago

yangarbiter commented 4 years ago

It seems there is another issue for c-extension installation is using both OpenBLAS and LAPACKE

https://stackoverflow.com/questions/61945709/lapacke-h-file-not-found-error-when-installing-libact

ariapoy commented 3 years ago

Hi @yangarbiter,

I resolve this bug by following steps:

  1. Check /usr/include/lapack.h file and LAPACK_dgesvd() function.
#define LAPACK_dgesvd LAPACK_GLOBAL(dgesvd,DGESVD)
void LAPACK_dgesvd(
     char const* jobu, char const* jobvt,
     lapack_int const* m, lapack_int const* n,
     double* A, lapack_int const* lda,
     double* S,
     double* U, lapack_int const* ldu,
     double* VT, lapack_int const* ldvt,
     double* work, lapack_int const* lwork,
     lapack_int* info );
  1. Update libact/query_strategies/src/variance_reduction/variance_reduction.c w.r.t above arguments. From line 8 to 10 as Code gist link.

  2. Install it locally by python setup.py install. We could install but with some red words from zip_safe flat to libact.query_stragigies.

...
zip_safe flag not set; analyzing archive contents...
libact.query_strategies.__pycache__._hintsvm.cpython-36: module references __file__
libact.query_strategies.__pycache__._variance_reduction.cpython-36: module references __file__
...
Using /home/lu/.local/lib/python3.6/site-packages
Finished processing dependencies for libact==0.1.6
  1. I'm not sure how to test if variance_reduction.py works or not. But other functions work fine.

And here is my environment:

# Ubuntu Ver.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:    20.04
Codename:   focal

# Python Ver.
$ python
Python 3.6.12 |Anaconda, Inc.| (default, Sep  8 2020, 23:10:56)

# liblapack Ver.
$ apt-cache policy liblapack-dev
liblapack-dev:
  Installed: (none)
  Candidate: 3.9.0-1build1
  Version table:
     3.9.0-1build1 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

Please check this solution works or not at your earliest convenience. Suppose you need more information about my environment. Please let me know :smile:

Sincerely. Poy

yangarbiter commented 3 years ago

Hi Poy,

Thanks for reporting this! I tested the change in libact/query_strategies/src/variance_reduction/variance_reduction.c and it worked! Would you like to change the file with what you have in your gist link and submit a pull request?

As for the zip_safe part, we can fix it in a separate PR.

Thanks.

yangarbiter commented 3 years ago

Resolved in #189