whitphx / lear-gist-python

A python wrapper for Lear's GIST implementation working with numpy
MIT License
55 stars 14 forks source link

ImportError: libfftw3f.so.3: No such file or directory #30

Open tim-hilt opened 3 years ago

tim-hilt commented 3 years ago

I built fftw3 and gist as described in the README (on Ubuntu 20.04), however when trying to import gist i see:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-6-3da9b8e6907c> in <module>
----> 1 import gist

ImportError: libfftw3f.so.3: cannot open shared object file: No such file or directory

I searched for libfftw3f.so.3 and found it in /usr/local/lib. Following this SO-question i tried to include /usr/local/lib by writing

import sys
sys.path.append('/usr/local/lib/libfftw3f.so.3')

before import gist, however the behavior remained the same.

Following #7 i tried rebuilding and installing gist with:

python setup.py build_ext -I /usr/local/include -L /usr/local/lib

and with

python setup.py build_ext -I $HOME/local/include -L $HOME/local/lib  # After configuring and installing fftw3 obviously

however the issue didn't change.

I also tried installing fftw3 via sudo apt install libfftw3-dev. Importing gist succeeded after doing so, however extracting features for a single image took approximately 18 seconds on the Google-VM (16 Xeon cores) i'm running right now.

Is this normal behavior? It might be related to #28 because i also see the warning of

/home/tim/.miniconda3/envs/ba/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
   17 | #warning "Using deprecated NumPy API, disable it with " \
      |  ^~~~~~~
gistmodule.c:142:14: warning: initialization of ‘PyObject * (*)(PyObject *, PyObject *)’ {aka ‘struct _object * (*)(struct _object *, struct _object *)’} from incompatible pointer type ‘PyObject * (*)(PyObject *, PyObject *, PyObject *)’ {aka ‘struct _object * (*)(struct _object *, struct _object *, struct _object *)’} [-Wincompatible-pointer-types]
  142 |  {"extract", gist_extract, METH_VARARGS | METH_KEYWORDS, "Extracts Lear's GIST descriptor"},
      |

when running python setup.py build_ext.