During installing process of scipy package, a log info may be reported like following: **** blas_info: libraries mkl_rt,iomp5,mkl_rt,iomp5 not found in ['/opt/intel/composerxe-2013.3.174/mkl/lib/intel64', '/opt/intel/composerxe-2013.3.174/compiler/lib/intel64', '/usr/lib64'] NOT AVAILABLE" **** then a BlasNotFoundError will raise and cut off the installing. Content of site.cfg: **** [blas] include_dirs = /opt/intel/composerxe-2013.3.174/mkl/include library_dirs = /opt/intel/composerxe-2013.3.174/mkl/lib/intel64:/opt/intel/composerxe-2013.3.174/compiler/lib/intel64:/usr/lib64 blas_libs = iomp5,mkl_rt [lapack] library_dirs = /opt/intel/composerxe-2013.3.174/mkl/lib/intel64:/opt/intel/composerxe-2013.3.174/compiler/lib/intel64:/usr/lib64 lapack_libs = iomp5,mkl_rt **** Note that sections [blas] and [lapack] share the same libs and lib-dirs. The script system_info.py, or the method get_libs() more precisely, parses this file and recognize there are 4 libs (rather than 2) to match, and then the method _check_libs() does the matching job and removes the duplicate results. The if condition in method _check_libs() is length comparing, namely if the amount of matched libs is not equal to amount of total libs, then matching fails. the core statement in get_libs() is **** libs = self.cp.get(self.section, key) **** the parsing result "libs" can be fault. 386269 and 502406 might due to the problem above. I think this is the bug in numpy rather than scipy. Reproducible: Always
I've added a few codes in system_info.py (did it to every python slot) and fixed this problem temporarily, but it's just a risky way.
This is fix by the new ldso switching framework. *** This bug has been marked as a duplicate of bug 700848 ***