Configure ends with: checking for sgemm_ in -ldxml... no checking for sgemm_ in -lscs... no checking for sgemm_ in -lcomplib.sgimath... no checking for sgemm_ in -lblas... (cached) no checking for sgemm_ in -lblas... (cached) no configure: error: BLAS was not found! !!! Please attach the following file when filing a report to bugs.gentoo.org: !!! /var/tmp/portage/mpb-1.4.2/work/mpb-1.4.2/config.log !!! ERROR: sci-physics/mpb-1.4.2 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile mpb-1.4.2.ebuild, line 34: Called econf ebuild.sh, line 541: Called die ###### The error persists even after I did "emerge -1 blas" The error message says I should attach config.log, however the file is pretty long. For now I'll paste here my emerge --info. Portage 2.1-r1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.6.15 app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.3.5, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/gcc-config: 1.3.13-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -mtune=pentium4 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo" CXXFLAGS="-O2 -mtune=pentium4 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/ ftp://ftp6.uni-erlangen.de/pub/mirrors/gentoo ftp://vlaai.snt.ipv6.utwente.nl/pub/os/linux/gentoo/ http://ftp6.uni-erlangen.de/pub/mirrors/gentoo http://gentoo.eliteitminds.com" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" USE="x86 apache2 apm avi berkdb bitmap-fonts cli crypt cups dlloader dri eds emboss encode foomaticdb fortran gdbm gif gpm gstreamer gtk2 imlib isdnlog jpeg libg++ libwww mad mikmod mmx motif mp3 mpeg mpi ncurses nls nptl ogg pam pcre pdflib perl png pppd python qt3 qt4 quicktime readline reflection sdl session spell spl sse ssl tcpd truetype truetype-fonts type1-fonts udev vorbis xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Created attachment 92320 [details] As per ebuild error message I attach this file.
Could you try adding virtual/blas to DEPEND in the ebuild? i.e. edit the ebuild to read DEPEND="virtual/lapack virtual/blas sci-libs/libctl sci-libs/hdf5 =sci-libs/fftw-2.1.5-r1 sys-libs/readline" then do ebuild mpb-1.4.2.ebuild digest and try reemerging mpb
Done, but it didn't make a difference: mpb # emerge -av virtual/blas These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sci-libs/blas-atlas-3.6.0-r1 USE="-doc" 0 kB So a blas implementation is installed (I remember it being pulled in when I first made emerge -av mpb), but the configure is somehow unable to find it. The error is the same: checking for sgemm_ in -lcomplib.sgimath... no checking for sgemm_ in -lblas... (cached) no checking for sgemm_ in -lblas... (cached) no configure: error: BLAS was not found! Specific use flags for the relevant packages in case I did something wrong with them: sys-cluster/mpich2-1.0.3 USE="crypt -cxx -debug -doc -mpe -threads" 0 kB sci-libs/hdf5-1.6.4 USE="hlapi mpi ssl threads zlib -debug -static -szip" 0 kB sys-cluster/lam-mpi-7.0.6 USE="crypt" 0 kB sci-libs/fftw-2.1.5-r1 USE="mpi" 0 kB dev-util/guile-1.6.7 0 kB sci-libs/libctl-2.2 0 kB sci-libs/blas-config-1.0.1 0 kB sci-libs/blas-atlas-3.6.0-r1 USE="-doc" 0 kB sci-libs/lapack-config-1.0.1 0 kB sci-libs/lapack-atlas-3.6.0 USE="-doc -ifc" 0 kB sci-physics/mpb-1.4.2 0 kB I toyed a bit with blas-config but I didn't find anything relevant (IMHO). This is the output of blas-config -p: Current profiles: F77 BLAS: /usr/lib/blas/f77-threaded-ATLAS C BLAS: /usr/lib/blas/c-threaded-ATLAS
Have you tried using blas-config to select a different profile (e.g. the reference one), to see if that is the cause? Do you have the same problem with other packages requiring blas? I cannot reproduce this on my machine, so it's difficult to debug.
I tried to switch profile for both C and F77, it didn't make a difference. Unfortunately this is the very first time I install a scientific app, never used blas or atlas before. If you can suggest a package that requires blas I'll try to install it and see what happens.
You can try e.g. mpqc, but with a version larger then 2.2.3 (i.e. use ACCEPT_KEYWORDS="~x86")
mpqc 2.3.1-r1 (hit stable btw) fails configure: checking fortran symbols... lowercase with underscore checking for daxpy_... no checking for daxpy_ in -lessl... no checking for daxpy_ in -lblas... no checking for daxpy_ in -lf77blas... no WARNING: Could not link to the BLAS library. It can be obtained at http://www.netlib.org/blas. Use --with-libdirs and/or --with-libs to specify the name of the library. configure: error: BLAS is required to complete the build !!! Please attach the following file when filing a report to bugs.gentoo.org: !!! /var/tmp/portage/mpqc-2.3.1-r1/work/mpqc-2.3.1/config.log !!! ERROR: sci-chemistry/mpqc-2.3.1-r1 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile mpqc-2.3.1-r1.ebuild, line 48: Called econf '--disable-threads' '--enable-shared' ebuild.sh, line 541: Called die Maybe i should try to install on a different machine? :/
Hmm, could any of the blas gurus take a look at this?
Hi darknight7, You're using the threaded blas, hence I assume you're on a multi-processor machine? Try selecting the non-threaded version and make sure that /usr/lib/libblas.so is a valid link to /usr/lib/blas/atlas/libblas.so. If this still bombs I'd highly recommend that you try the ~x86 version of blas-atlas (3.7.11) since it has much better support for modern CPU's and will likely perform better. Thanks, Markus
(In reply to comment #9) > Try selecting the non-threaded version and make sure that > /usr/lib/libblas.so is a valid link to /usr/lib/blas/atlas/libblas.so. It is, I've tried ti switch to non-threaded too. My processor is an hyperthreading p4, that's why I started with threading enabled. > If this still bombs I'd highly recommend that you try the ~x86 version of > blas-atlas (3.7.11) since it has much better support for modern CPU's > and will likely perform better. Note: it fails configure unless I run it in interactive mode. Unfortunately this didn't help, no difference in how the configure fails, also, it seems that mpb is REQUIRING 3.6.0 instead of 3.7.11, if I "emerge -auD mpb" portage wants to downgrade the atlas library...
Hi darknight7, Last night I committed an update to the blas-atlas/lapack-atlas-3.7.11.ebuilds that fixed problems people where having with missing pthread symbols. This might be the reason why the configure step fails for you as well. Hence, could you please do an emerge --sync, emerge blas-atlas-3.7.11, and then try compiling mpqc again which failed before. If it works, great, and I'll try to backport the changes to the stable version, otherwise, could you please post the config.log file of the failed mpqc emerge. Thanks, Markus
The configure now is successful for both mpqc and mpb! Note that I recompiled only blas-atlas, not lapack-atlas (no time right now). This is some relevant stuff from mpb: checking for fftw in -ldfftw... yes checking for sgemm_... no checking for ATL_xerbla in -latlas... yes checking for sgemm_ in -lf77blas... no checking for sgemm_ in -lblas... yes checking for dgemm_ in -ldgemm... no checking for sgemm_ in -lcxml... no checking for sgemm_ in -ldxml... no checking for sgemm_ in -lscs... no checking for sgemm_ in -lcomplib.sgimath... no checking for sgemm_ in -lblas... (cached) yes checking for sgemm_ in -lessl... no checking for sgemm_ in -lblas... (cached) yes checking for cheev_... no checking for cheev_ in -llapack... yes However when I try to compile mpb I get this error which may be due to changes in the new blas-atlas version or the mismatch of blas-atlas and lapack-atlas versions: In file included from /usr/include/H5public.h:53, from /usr/include/hdf5.h:23, from matrixio.h:24, from matrixio.c:34: /usr/include/mpi.h:39: error: conflicting types for 'MPI_Status' ../util/mpiglue.h:73: error: previous declaration of 'MPI_Status' was here matrixio.c: In function `matrixio_write_string_attr': matrixio.c:172: warning: cast discards qualifiers from pointer target type matrixio.c: In function `matrixio_write_data_attr': matrixio.c:207: warning: cast discards qualifiers from pointer target type matrixio.c: In function `matrixio_open_dataset': matrixio.c:471: warning: comparison between signed and unsigned matrixio.c: In function `matrixio_write_real_data': matrixio.c:655: warning: pointer targets in passing arg 3 of `H5Sselect_hyperslab' differ in signedness matrixio.c:665: warning: pointer targets in passing arg 3 of `H5Sselect_hyperslab' differ in signedness matrixio.c: In function `matrixio_read_real_data': matrixio.c:784: warning: comparison between signed and unsigned matrixio.c:822: warning: pointer targets in passing arg 3 of `H5Sselect_hyperslab' differ in signedness matrixio.c:827: warning: pointer targets in passing arg 3 of `H5Sselect_hyperslab' differ in signedness matrixio.c: In function `matrixio_create_sub': matrixio.c:424: warning: statement with no effect matrixio.c:427: warning: statement with no effect matrixio.c: In function `matrixio_create_dataset': matrixio.c:502: warning: statement with no effect make[1]: *** [matrixio.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpb-1.4.2/work/mpb-1.4.2/src/matrixio' make: *** [all-recursive] Error 1 !!! ERROR: sci-physics/mpb-1.4.2 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile mpb-1.4.2.ebuild, line 35: Called die Thanks for your help :)
Hi darknight7, Great, and good to know that blas-atlas is working fine now!. As far as I can tell, the error you receive now with mpb has nothing to do with blas or lapack, but is a problem with mpi. You might want to try compiling with USE='-mpi' and see if that works. Thanks, Markus
You were right. I'll open another bug about that issue asap.
Thanks much for testing and please make sure to cc cluster@g.o on the mpi bug. I'll close this bug then since the atlas/blas issues seem to be resolved. Thanks, Markus