Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 141186 - blas library not found during configure
Summary: blas library not found during configure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-20 09:15 UTC by subscryer
Modified: 2006-07-28 10:16 UTC (History)
0 users

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


Attachments
As per ebuild error message I attach this file. (config.log,31.49 KB, text/plain)
2006-07-20 09:19 UTC, subscryer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description subscryer 2006-07-20 09:15:48 UTC
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
Comment 1 subscryer 2006-07-20 09:19:33 UTC
Created attachment 92320 [details]
As per ebuild error message I attach this file.
Comment 2 Peter Bienstman (RETIRED) gentoo-dev 2006-07-20 11:08:45 UTC
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
Comment 3 subscryer 2006-07-21 02:12:26 UTC
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
Comment 4 Peter Bienstman (RETIRED) gentoo-dev 2006-07-21 02:33:07 UTC
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.
Comment 5 subscryer 2006-07-21 04:52:19 UTC
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.
Comment 6 Peter Bienstman (RETIRED) gentoo-dev 2006-07-21 05:01:32 UTC
You can try e.g. mpqc, but with a version larger then 2.2.3 (i.e. use ACCEPT_KEYWORDS="~x86")
Comment 7 subscryer 2006-07-21 05:35:36 UTC
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? :/
Comment 8 Peter Bienstman (RETIRED) gentoo-dev 2006-07-21 05:58:03 UTC
Hmm, could any of the blas gurus take a look at this?
Comment 9 Markus Dittrich (RETIRED) gentoo-dev 2006-07-24 06:12:16 UTC
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
Comment 10 subscryer 2006-07-27 02:44:41 UTC
(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...
Comment 11 Markus Dittrich (RETIRED) gentoo-dev 2006-07-27 05:32:34 UTC
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
Comment 12 subscryer 2006-07-28 02:53:00 UTC
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 :)
Comment 13 Markus Dittrich (RETIRED) gentoo-dev 2006-07-28 05:27:05 UTC
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
Comment 14 subscryer 2006-07-28 07:43:27 UTC
You were right. I'll open another bug about that issue asap.
Comment 15 Markus Dittrich (RETIRED) gentoo-dev 2006-07-28 10:16:14 UTC
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