Hey, thanks for putting together this package. I'm encountering a C compiling-related error when I try to install it on Ubuntu. I've checked that gcc is installed. Any thoughts on what might be going on?
Collecting implicit==0.2.6 (from -r requirements.txt (line 67))
Downloading implicit-0.2.6.tar.gz (260kB)
�
100% || 266kB 2.6MB/s
plete output from command python setup.py egg_info:
Error compiling Cython file:
------------------------------------------------------------
...
from cython.parallel import parallel, prange
from libc.stdlib cimport malloc, free
from libc.string cimport memcpy
# requires scipy v0.16
cimport scipy.linalg.cython_lapack as cython_lapack
^
------------------------------------------------------------
implicit/_als.pyx:9:8: 'scipy/linalg/cython_lapack.pxd' not found
Error compiling Cython file:
------------------------------------------------------------
...
from libc.stdlib cimport malloc, free
from libc.string cimport memcpy
# requires scipy v0.16
cimport scipy.linalg.cython_lapack as cython_lapack
cimport scipy.linalg.cython_blas as cython_blas
^
------------------------------------------------------------
implicit/_als.pyx:10:8: 'scipy/linalg/cython_blas.pxd' not found
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void axpy(int * n, floating * da, floating * dx, int * incx, floating * dy,
int * incy) nogil:
if floating is double:
cython_blas.daxpy(n, da, dx, incx, dy, incy)
else:
cython_blas.saxpy(n, da, dx, incx, dy, incy)
^
------------------------------------------------------------
implicit/_als.pyx:18:19: cimported module has no attribute 'saxpy'
Error compiling Cython file:
------------------------------------------------------------
...
# lapack/blas wrappers for cython fused types
cdef inline void axpy(int * n, floating * da, floating * dx, int * incx, floating * dy,
int * incy) nogil:
if floating is double:
cython_blas.daxpy(n, da, dx, incx, dy, incy)
^
------------------------------------------------------------
implicit/_als.pyx:16:19: cimported module has no attribute 'daxpy'
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void symv(char *uplo, int *n, floating *alpha, floating *a, int *lda, floating *x,
int *incx, floating *beta, floating *y, int *incy) nogil:
if floating is double:
cython_blas.dsymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
else:
cython_blas.ssymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
^
------------------------------------------------------------
implicit/_als.pyx:25:19: cimported module has no attribute 'ssymv'
Error compiling Cython file:
------------------------------------------------------------
...
cython_blas.saxpy(n, da, dx, incx, dy, incy)
cdef inline void symv(char *uplo, int *n, floating *alpha, floating *a, int *lda, floating *x,
int *incx, floating *beta, floating *y, int *incy) nogil:
if floating is double:
cython_blas.dsymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
^
------------------------------------------------------------
implicit/_als.pyx:23:19: cimported module has no attribute 'dsymv'
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline floating dot(int *n, floating *sx, int *incx, floating *sy, int *incy) nogil:
if floating is double:
return cython_blas.ddot(n, sx, incx, sy, incy)
else:
return cython_blas.sdot(n, sx, incx, sy, incy)
^
------------------------------------------------------------
implicit/_als.pyx:31:26: cimported module has no attribute 'sdot'
Error compiling Cython file:
------------------------------------------------------------
...
else:
cython_blas.ssymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
cdef inline floating dot(int *n, floating *sx, int *incx, floating *sy, int *incy) nogil:
if floating is double:
return cython_blas.ddot(n, sx, incx, sy, incy)
^
------------------------------------------------------------
implicit/_als.pyx:29:26: cimported module has no attribute 'ddot'
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void scal(int *n, floating *sa, floating *sx, int *incx) nogil:
if floating is double:
cython_blas.dscal(n, sa, sx, incx)
else:
cython_blas.sscal(n, sa, sx, incx)
^
------------------------------------------------------------
implicit/_als.pyx:37:19: cimported module has no attribute 'sscal'
Error compiling Cython file:
------------------------------------------------------------
...
else:
return cython_blas.sdot(n, sx, incx, sy, incy)
cdef inline void scal(int *n, floating *sa, floating *sx, int *incx) nogil:
if floating is double:
cython_blas.dscal(n, sa, sx, incx)
^
------------------------------------------------------------
implicit/_als.pyx:35:19: cimported module has no attribute 'dscal'
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void posv(char * u, int * n, int * nrhs, floating * a, int * lda, floating * b,
int * ldb, int * info) nogil:
if floating is double:
cython_lapack.dposv(u, n, nrhs, a, lda, b, ldb, info)
else:
cython_lapack.sposv(u, n, nrhs, a, lda, b, ldb, info)
^
------------------------------------------------------------
implicit/_als.pyx:44:21: cimported module has no attribute 'sposv'
Error compiling Cython file:
------------------------------------------------------------
...
cython_blas.sscal(n, sa, sx, incx)
cdef inline void posv(char * u, int * n, int * nrhs, floating * a, int * lda, floating * b,
int * ldb, int * info) nogil:
if floating is double:
cython_lapack.dposv(u, n, nrhs, a, lda, b, ldb, info)
^
------------------------------------------------------------
implicit/_als.pyx:42:21: cimported module has no attribute 'dposv'
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void gesv(int * n, int * nrhs, floating * a, int * lda, int * piv, floating * b,
int * ldb, int * info) nogil:
if floating is double:
cython_lapack.dgesv(n, nrhs, a, lda, piv, b, ldb, info)
else:
cython_lapack.sgesv(n, nrhs, a, lda, piv, b, ldb, info)
^
------------------------------------------------------------
implicit/_als.pyx:51:21: cimported module has no attribute 'sgesv'
Error compiling Cython file:
------------------------------------------------------------
...
cython_lapack.sposv(u, n, nrhs, a, lda, b, ldb, info)
cdef inline void gesv(int * n, int * nrhs, floating * a, int * lda, int * piv, floating * b,
int * ldb, int * info) nogil:
if floating is double:
cython_lapack.dgesv(n, nrhs, a, lda, piv, b, ldb, info)
^
------------------------------------------------------------
implicit/_als.pyx:49:21: cimported module has no attribute 'dgesv'
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void axpy(int * n, floating * da, floating * dx, int * incx, floating * dy,
int * incy) nogil:
if floating is double:
cython_blas.daxpy(n, da, dx, incx, dy, incy)
else:
cython_blas.saxpy(n, da, dx, incx, dy, incy)
^
------------------------------------------------------------
implicit/_als.pyx:18:25: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
# lapack/blas wrappers for cython fused types
cdef inline void axpy(int * n, floating * da, floating * dx, int * incx, floating * dy,
int * incy) nogil:
if floating is double:
cython_blas.daxpy(n, da, dx, incx, dy, incy)
^
------------------------------------------------------------
implicit/_als.pyx:16:25: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void symv(char *uplo, int *n, floating *alpha, floating *a, int *lda, floating *x,
int *incx, floating *beta, floating *y, int *incy) nogil:
if floating is double:
cython_blas.dsymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
else:
cython_blas.ssymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
^
------------------------------------------------------------
implicit/_als.pyx:25:25: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
cython_blas.saxpy(n, da, dx, incx, dy, incy)
cdef inline void symv(char *uplo, int *n, floating *alpha, floating *a, int *lda, floating *x,
int *incx, floating *beta, floating *y, int *incy) nogil:
if floating is double:
cython_blas.dsymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
^
------------------------------------------------------------
implicit/_als.pyx:23:25: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline floating dot(int *n, floating *sx, int *incx, floating *sy, int *incy) nogil:
if floating is double:
return cython_blas.ddot(n, sx, incx, sy, incy)
else:
return cython_blas.sdot(n, sx, incx, sy, incy)
^
------------------------------------------------------------
implicit/_als.pyx:31:31: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
else:
cython_blas.ssymv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
cdef inline floating dot(int *n, floating *sx, int *incx, floating *sy, int *incy) nogil:
if floating is double:
return cython_blas.ddot(n, sx, incx, sy, incy)
^
------------------------------------------------------------
implicit/_als.pyx:29:31: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void scal(int *n, floating *sa, floating *sx, int *incx) nogil:
if floating is double:
cython_blas.dscal(n, sa, sx, incx)
else:
cython_blas.sscal(n, sa, sx, incx)
^
------------------------------------------------------------
implicit/_als.pyx:37:25: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
else:
return cython_blas.sdot(n, sx, incx, sy, incy)
cdef inline void scal(int *n, floating *sa, floating *sx, int *incx) nogil:
if floating is double:
cython_blas.dscal(n, sa, sx, incx)
^
------------------------------------------------------------
implicit/_als.pyx:35:25: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void posv(char * u, int * n, int * nrhs, floating * a, int * lda, floating * b,
int * ldb, int * info) nogil:
if floating is double:
cython_lapack.dposv(u, n, nrhs, a, lda, b, ldb, info)
else:
cython_lapack.sposv(u, n, nrhs, a, lda, b, ldb, info)
^
------------------------------------------------------------
implicit/_als.pyx:44:27: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
cython_blas.sscal(n, sa, sx, incx)
cdef inline void posv(char * u, int * n, int * nrhs, floating * a, int * lda, floating * b,
int * ldb, int * info) nogil:
if floating is double:
cython_lapack.dposv(u, n, nrhs, a, lda, b, ldb, info)
^
------------------------------------------------------------
implicit/_als.pyx:42:27: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
cdef inline void gesv(int * n, int * nrhs, floating * a, int * lda, int * piv, floating * b,
int * ldb, int * info) nogil:
if floating is double:
cython_lapack.dgesv(n, nrhs, a, lda, piv, b, ldb, info)
else:
cython_lapack.sgesv(n, nrhs, a, lda, piv, b, ldb, info)
^
------------------------------------------------------------
implicit/_als.pyx:51:27: Calling gil-requiring function not allowed without gil
Error compiling Cython file:
------------------------------------------------------------
...
cython_lapack.sposv(u, n, nrhs, a, lda, b, ldb, info)
cdef inline void gesv(int * n, int * nrhs, floating * a, int * lda, int * piv, floating * b,
int * ldb, int * info) nogil:
if floating is double:
cython_lapack.dgesv(n, nrhs, a, lda, piv, b, ldb, info)
^
------------------------------------------------------------
implicit/_als.pyx:49:27: Calling gil-requiring function not allowed without gil
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-5s7y1gnq/implicit/setup.py", line 111, in <module>
ext_modules=define_extensions(use_cython),
File "/tmp/pip-build-5s7y1gnq/implicit/setup.py", line 47, in define_extensions
return cythonize(modules)
File "/home/rof/.pyenv/versions/3.5.4/lib/python3.5/site-packages/Cython/Build/Dependencies.py", line 1039, in cythonize
cythonize_one(*args)
File "/home/rof/.pyenv/versions/3.5.4/lib/python3.5/site-packages/Cython/Build/Dependencies.py", line 1161, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: implicit/_als.pyx
implicit/_als.pyx: cannot find cimported module 'scipy.linalg.cython_lapack'
implicit/_als.pyx: cannot find cimported module 'scipy.linalg.cython_blas'
Compiling implicit/_als.pyx because it depends on /home/rof/.pyenv/versions/3.5.4/lib/python3.5/site-packages/Cython/Includes/libc/string.pxd.
Compiling implicit/_nearest_neighbours.pyx because it depends on /home/rof/.pyenv/versions/3.5.4/lib/python3.5/site-packages/Cython/Includes/libcpp/vector.pxd.
[1/2] Cythonizing implicit/_als.pyx
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-5s7y1gnq/implicit/