Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 688856 - sci-libs/scipy-1.1.0 - numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
Summary: sci-libs/scipy-1.1.0 - numpy.distutils.system_info.NotFoundError: no lapack/b...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-27 21:03 UTC by Harris Landgarten
Modified: 2019-07-08 13:49 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (scipy_buildlog,23.48 KB, text/plain)
2019-06-27 21:03 UTC, Harris Landgarten
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Harris Landgarten 2019-06-27 21:03:31 UTC
Created attachment 581206 [details]
build.log

sci-libs/lapack was upgraded from v7 to v8 along with associated virtuals. This necessitated the uninstall of related reference packages.

Today the virtuals was downgraded back to v7 and the reference files reinstalled. This causes the purge of sci-libs/lapack-8 as it was no longer a dependency of anything and conficted with the reference packages.

Now sci-libs/scipy will not build. I rebuilt numpy and scikits_learn and they built fine without sci-libs/lapack.

sci-libs/scipy is failing with:

numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
Comment 1 Harris Landgarten 2019-06-27 21:05:48 UTC
Build log for scipy attached
Comment 2 François Bissey 2019-06-28 09:50:56 UTC
Have you rebuilt numpy first?
Comment 3 Benda Xu gentoo-dev 2019-06-28 10:11:08 UTC
Marris, I am sorry.  The revised upgrade to lapack-3.8 is under review, and will be pushed to the tree next week.

https://archives.gentoo.org/gentoo-dev/message/95beba3dc1c0f684ce1ec82d51988fc8


At the moment, do you have 

/usr/lib64/pkgconfig/blas.pc
/usr/lib64/pkgconfig/cblas.pc
/usr/lib64/pkgconfig/lapack.pc

files from lapack-3.8?
Comment 4 Harris Landgarten 2019-06-28 12:00:29 UTC
at the moment sci-libs/lapack-3.8 is not installed because it blocks:

blas-reference-20161223 and lapack-reference-3.7 which are required by:

virtual/blas-3.7, virtual/lapack-3.7 and virtual/cbas-3.7

numpy and scikits_learn both build without sci-libs/lapack. scipy will not.

When you redo sci-libs/lapack-3.8 you have to deal with this blockage. Originally virtuals were updated to 3.8 too which didn't have the circular blockage issue.
Comment 5 Benda Xu gentoo-dev 2019-07-04 01:19:11 UTC
Hi,

Please upgrade to virtual/blas-3.8 and virtual/lapack-3.8 to see if sci-libs/numpy could be built.

Thanks!
Benda
Comment 6 Harris Landgarten 2019-07-04 03:40:41 UTC
numpy builds but scipy still does not:

lapack_opt_info:
system_info:
  NOT AVAILABLE

lapack_info:
customize UnixCCompiler
  FOUND:
    language = f77
    libraries = ['lapack']
    library_dirs = ['/usr/lib64']

blas_info:
customize UnixCCompiler
  libraries  not found in ['', '/usr/lib64']
  NOT AVAILABLE

blas_src_info:
  NOT AVAILABLE

  NOT AVAILABLE
/usr/lib64/python3.5/site-packages/numpy/distutils/system_info.py:614: UserWarning: 
    Atlas (http://math-atlas.sourceforge.net/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [atlas]) or by setting
    the ATLAS environment variable.
  self.calc_info()
/usr/lib64/python3.5/site-packages/numpy/distutils/system_info.py:614: UserWarning: 
    Blas (http://www.netlib.org/blas/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [blas]) or by setting
    the BLAS environment variable.
  self.calc_info()
/usr/lib64/python3.5/site-packages/numpy/distutils/system_info.py:614: UserWarning: 
    Blas (http://www.netlib.org/blas/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [blas_src]) or by setting
    the BLAS_SRC environment variable.
  self.calc_info()
Comment 7 Benda Xu gentoo-dev 2019-07-07 12:06:23 UTC
Hi Harris,

(In reply to Harris Landgarten from comment #6)
> numpy builds but scipy still does not:
> 
> lapack_opt_info:
> system_info:
>   NOT AVAILABLE
> 
> lapack_info:
> customize UnixCCompiler
>   FOUND:
>     language = f77
>     libraries = ['lapack']
>     library_dirs = ['/usr/lib64']

I cannot reproduce this bug, could you please show your `emerge -pv virtual/blas virtual/lapack sci-libs/scipy dev-python/numpy` ?
Comment 8 Harris Landgarten 2019-07-07 13:13:30 UTC
I had:

sci-libs/lapack eselect-ldso
virtual/blas eselect-ldso
virtual/cblas eselect-ldso
virtual/lapack eselect-ldso

When I turned eselect-ldso off scipy builds.
Comment 9 Benda Xu gentoo-dev 2019-07-07 14:38:20 UTC
(In reply to Harris Landgarten from comment #8)
> I had:
> 
> sci-libs/lapack eselect-ldso
> virtual/blas eselect-ldso
> virtual/cblas eselect-ldso
> virtual/lapack eselect-ldso
> 
> When I turned eselect-ldso off scipy builds.

I see, I still not reproduce this bug with USE=eselect-ldso on. Could you please show your output of `emerge -pv virtual/blas virtual/lapack sci-libs/scipy dev-python/numpy` ?  The most important is the version of `dev-python/numpy`.
Comment 10 Harris Landgarten 2019-07-07 15:59:27 UTC
I am running all the latest versions inthe tree with default use flags

When I had eselect-lsdo on scipy failed early in configure with cannot find cblas 

Unfortunately we are not starting from a clean slate. I think the issue might be that there is no eselect-cblas 0.2 

I had mkl installed but had to uninstall it because it pulled in eselect-cblas which is not allowed by sci-libs/lapack
Comment 11 Benda Xu gentoo-dev 2019-07-08 01:08:10 UTC
Hi Harris,

Would you please just provide your output of

  emerge -pv virtual/blas virtual/lapack sci-libs/scipy dev-python/numpy

?

It is hard to describe what's going on precisely with the actually command output.
Comment 12 Benda Xu gentoo-dev 2019-07-08 01:08:36 UTC
(In reply to Benda Xu from comment #11)

> It is hard to describe what's going on precisely with the actually command
> output.

s/with/without/
Comment 13 Benda Xu gentoo-dev 2019-07-08 01:11:36 UTC
(In reply to Benda Xu from comment #3)

> At the moment, do you have 
> 
> /usr/lib64/pkgconfig/blas.pc
> /usr/lib64/pkgconfig/cblas.pc
> /usr/lib64/pkgconfig/lapack.pc
> 
> files from lapack-3.8?

Please check this again, and provide the output of

  eselect blas list

and

  eselect lapack list

?
Comment 14 Harris Landgarten 2019-07-08 04:13:27 UTC
I have:

/usr/lib64/pkgconfig/blas.pc
/usr/lib64/pkgconfig/cblas.pc
/usr/lib64/pkgconfig/lapack.pc

eselect blas list

none found

eselect lapack list

none found
cave contents sci-libs/lapack

usr
/usr/lib64
/usr/lib64/cmake
/usr/lib64/cmake/lapack-3.8.0
/usr/lib64/cmake/lapack-3.8.0/lapack-targets.cmake
/usr/lib64/cmake/lapack-3.8.0/lapack-targets-gentoo.cmake
/usr/lib64/cmake/lapack-3.8.0/lapack-config.cmake
/usr/lib64/cmake/lapack-3.8.0/lapack-config-version.cmake
/usr/lib64/cmake/cblas-3.8.0
/usr/lib64/cmake/cblas-3.8.0/cblas-targets.cmake
/usr/lib64/cmake/cblas-3.8.0/cblas-targets-gentoo.cmake
/usr/lib64/cmake/cblas-3.8.0/cblas-config.cmake
/usr/lib64/cmake/cblas-3.8.0/cblas-config-version.cmake
/usr/lib64/pkgconfig
/usr/lib64/pkgconfig/lapack.pc
/usr/lib64/pkgconfig/blas.pc
/usr/lib64/pkgconfig/cblas.pc
/usr/lib64/libblas.so.3 -> libblas.so.3.8.0
/usr/lib64/libblas.so -> libblas.so.3
/usr/lib64/libcblas.so.3 -> libcblas.so.3.8.0
/usr/lib64/libcblas.so -> libcblas.so.3
/usr/lib64/liblapack.so.3 -> liblapack.so.3.8.0
/usr/lib64/liblapack.so -> liblapack.so.3
/usr/lib64/debug
/usr/lib64/debug/usr
/usr/lib64/debug/usr/lib64
/usr/lib64/debug/usr/lib64/libblas.so.3.8.0.debug
/usr/lib64/debug/usr/lib64/libcblas.so.3.8.0.debug
/usr/lib64/debug/usr/lib64/liblapack.so.3.8.0.debug
/usr/lib64/libblas.so.3.8.0
/usr/lib64/libcblas.so.3.8.0
/usr/lib64/liblapack.so.3.8.0
/usr/include
/usr/include/cblas.h
/usr/include/cblas_f77.h
/usr/include/cblas_test.h
/usr/include/cblas_mangling.h
/usr/share
/usr/share/doc
/usr/share/doc/lapack-3.8.0
/usr/share/doc/lapack-3.8.0/README.md

note when eselect-ldso was enabled the eselect blas/lapack list gave reference instead on none now.
Comment 15 ZongyuZ 2019-07-08 07:00:38 UTC
Hello,
  Could you please check and provide the 'site.cfg' generated by sci-libs/scipy?
  It should locate in /var/tmp/portage/sci-libs/scipy-${PV}/work/scipy-${PV}/site.cfg.
  I think it may be the direct reason causing this problem.

  By the way, could you provide your '/usr/lib64/pkgconfig/blas.pc', '/usr/lib64/pkgconfig/cblas.pc' and '/usr/lib64/pkgconfig/lapack.pc'?
Comment 16 Benda Xu gentoo-dev 2019-07-08 12:34:57 UTC
Hi Harris,

Got you information but they are not very helpful when USE=eselect-ldso is turned off.


Would you please set USE=eselect-ldso show me your output of

  emerge -pv virtual/blas virtual/lapack sci-libs/scipy dev-python/numpy

?

I am asking for the 3rd time because dev-python/numpy version is important to scipy build time configuration, especially location of cblas.


You are using Paludis.  Is it possible for you to give portage a shot?  Paludis does not support EAPI-6.  I am curious if your set up could work you have used portage to install scipy and cblas dependencies.

Reference: 

https://archives.gentoo.org/gentoo-dev/message/e14746e37198ed8310f30fe2be168fb0

https://archives.gentoo.org/gentoo-dev-announce/message/9a2e0bd919ab926500394f06d4f1df18


Yours,
Benda


(In reply to Harris Landgarten from comment #14)
> I have:
> 
> /usr/lib64/pkgconfig/blas.pc
> /usr/lib64/pkgconfig/cblas.pc
> /usr/lib64/pkgconfig/lapack.pc
> 
> eselect blas list
> 
> none found
> 
> eselect lapack list
> 
> none found
> cave contents sci-libs/lapack
> 
> usr
> /usr/lib64
> /usr/lib64/cmake
> /usr/lib64/cmake/lapack-3.8.0
> /usr/lib64/cmake/lapack-3.8.0/lapack-targets.cmake
> /usr/lib64/cmake/lapack-3.8.0/lapack-targets-gentoo.cmake
> /usr/lib64/cmake/lapack-3.8.0/lapack-config.cmake
> /usr/lib64/cmake/lapack-3.8.0/lapack-config-version.cmake
> /usr/lib64/cmake/cblas-3.8.0
> /usr/lib64/cmake/cblas-3.8.0/cblas-targets.cmake
> /usr/lib64/cmake/cblas-3.8.0/cblas-targets-gentoo.cmake
> /usr/lib64/cmake/cblas-3.8.0/cblas-config.cmake
> /usr/lib64/cmake/cblas-3.8.0/cblas-config-version.cmake
> /usr/lib64/pkgconfig
> /usr/lib64/pkgconfig/lapack.pc
> /usr/lib64/pkgconfig/blas.pc
> /usr/lib64/pkgconfig/cblas.pc
> /usr/lib64/libblas.so.3 -> libblas.so.3.8.0
> /usr/lib64/libblas.so -> libblas.so.3
> /usr/lib64/libcblas.so.3 -> libcblas.so.3.8.0
> /usr/lib64/libcblas.so -> libcblas.so.3
> /usr/lib64/liblapack.so.3 -> liblapack.so.3.8.0
> /usr/lib64/liblapack.so -> liblapack.so.3
> /usr/lib64/debug
> /usr/lib64/debug/usr
> /usr/lib64/debug/usr/lib64
> /usr/lib64/debug/usr/lib64/libblas.so.3.8.0.debug
> /usr/lib64/debug/usr/lib64/libcblas.so.3.8.0.debug
> /usr/lib64/debug/usr/lib64/liblapack.so.3.8.0.debug
> /usr/lib64/libblas.so.3.8.0
> /usr/lib64/libcblas.so.3.8.0
> /usr/lib64/liblapack.so.3.8.0
> /usr/include
> /usr/include/cblas.h
> /usr/include/cblas_f77.h
> /usr/include/cblas_test.h
> /usr/include/cblas_mangling.h
> /usr/share
> /usr/share/doc
> /usr/share/doc/lapack-3.8.0
> /usr/share/doc/lapack-3.8.0/README.md
> 
> note when eselect-ldso was enabled the eselect blas/lapack list gave
> reference instead on none now.
Comment 17 Harris Landgarten 2019-07-08 12:52:44 UTC
eselect-ldso back on. dev-python/numpy-1.16.1:0::installed

cat /usr/lib64/pkgconfig/lapack.pc 
libdir=/usr/lib64
includedir=/usr/include

Name: LAPACK
Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
Version: 3.8.0
URL: http://www.netlib.org/lapack/
Libs: -L${libdir} -llapack

cat /usr/lib64/pkgconfig/blas.pc 
libdir=/usr/lib64
includedir=/usr/include

Name: BLAS
Description: FORTRAN reference implementation of BLAS Basic Linear Algebra Subprograms
Version: 3.8.0
URL: http://www.netlib.org/blas/
Libs: -L${libdir} -lblas

cat /usr/lib64/pkgconfig/cblas.pc
libdir=/usr/lib64
includedir=/usr/include

Name: CBLAS
Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms
Version: 3.8.0
URL: http://www.netlib.org/blas/#_cblas
Libs: -L${libdir} -lcblas
Cflags: -I${includedir}
Requires.private: blas

eselect blas list
Available BLAS/CBLAS (lib32) candidates:
  (none found)
Available BLAS/CBLAS (lib64) candidates:
  [1]   reference *

sudo eselect lapack list
Available LAPACK (lib32) candidates:
  (none found)
Available LAPACK (lib64) candidates:
  [1]   reference *


note: scipy is now building with eselect-ldso on so I can no longer reproduce the bug.
Comment 18 Harris Landgarten 2019-07-08 13:12:43 UTC
this has to be tested on a clean install with first-time installation setting eselect-ldso on. I can no longer do that.
Comment 19 Benda Xu gentoo-dev 2019-07-08 13:49:57 UTC
Hi Harris, thanks for the report.  I think we can close this bug.  Sorry for the confusion regarding lapack-3.8 reversion and re-inclusion.

Feel free to open new bugs when you find other reverse dependency breakages.

Benda