Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 308881 - sci-libs/lapack-reference-3.2.1-r1 does not build if the blas implementation is set to atlas-threads
Summary: sci-libs/lapack-reference-3.2.1-r1 does not build if the blas implementation ...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-10 19:27 UTC by Olivier Huber
Modified: 2010-03-11 07:53 UTC (History)
1 user (show)

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


Attachments
patch proposal (lapack-reference.patch,525 bytes, patch)
2010-03-10 19:28 UTC, Olivier Huber
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Huber 2010-03-10 19:27:45 UTC
emerge -pv sci-libs/blas-atlas
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sci-libs/blas-atlas-3.9.23-r1  USE="-debug -doc" 0 kB

$ eselect blas list
Installed BLAS for library directory lib64
  [1]   atlas
  [2]   atlas-threads *
  [3]   goto
  [4]   reference

from build log:
checking for sgemm_ in -L/usr/lib64/blas/threaded-atlas -lblas -latlas -lpthread  ... no
checking for sgemm_... no
checking for ATL_xerbla in -latlas... no
checking for sgemm_ in -lblas... 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) no
checking for sgemm_ in -lblas... (cached) no
configure: error: Cannot find blas libraries

With the reference implementation, as expected, it works.
I didn't test with other implementation if it also fails.

I used a trick found in the xorg-server ebuild to change during the build the implementation.
But it may have one flaw if the user has multiple implementations activated (I don't know, if it's possible, but it seems that the user can have one in 64bits and one in 32 bits), it may failed. I don't have such setup, so I can't test.

 $ emerge --info lapack-reference
Portage 2.2_rc67 (default/linux/amd64/10.0/developer, gcc-4.4.2, glibc-2.11-r1, 2.6.33-gentoo x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.33-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_P8600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Wed, 10 Mar 2010 16:15:03 +0000
distcc[12350] (dcc_trace_version) distcc 3.1 x86_64-pc-linux-gnu; built May  1 2009 07:16:39 [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p2
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.6.4-r1, 3.1.1-r1
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.7.9-r2, 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.20-r1, 2.20.1
sys-devel/gcc:       4.4.2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe -g -mssse3 -msse4.1"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -O2 -pipe -g -mssse3 -msse4.1"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache collision-protect cvs distlocks fixpackages multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign splitdebug strict test test-fail-continue unmerge-logs unmerge-orphans userfetch usersandbox"
GENTOO_MIRRORS="http://lug.mtu.edu/gentoo/ http://mirror.ovh.net/gentoo-distfiles/"
LANG="fr_FR.utf-8"
LC_ALL="fr_FR.utf-8"
LDFLAGS="-Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common"
LINGUAS="fr"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/sci /usr/local/overlays/x11 /usr/local/overlays/openmoko/trunk/openmoko-target /usr/local/overlays/local"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X a52 aac abook acl acpi adns alsa amd64 amr amrnb amrwb ares ass bash-completion berkdb bluetooth bzip2 cairo caps cblas cdaudio cdda cddb cdio cdparanoia cdr cli consolekit cracklib crypt ctypes-python cups curl custom-cxxflags cvs cxx daap dbus detex dia dirac djvu dns dri dts dv dvb dvd dvdnav dvdr dvipdfm emboss encode exif expat extensions extra faac faad fam fbcondecor ffmpeg fftw firefox flac fontconfig fontforge fortran frei0r ft2232 ftd2xx ftdi ftp fts3 gallium gcrypt gd gdbm geoip gif glitz gmp gnutls gpg gpgme gpm graphics graphite graphviz gsm gstreamer gtk hal hdri humanities iconv icu id3tag idn imagemagick imap iproute2 ipv6 jack jadetex jingle jpeg jpeg2k kde kerberos kpathsea kqemu kvm lame lapack laptop lash latex latex3 lcms ldap libass libftdi libgcrypt libnotify libsamplerate libusb-0 libv4l2 live llvm-gcc lua lvm lzma lzo mad matroska mbox melt messenger mikmod mjpeg mktemp mmx mng modplug modules mp3 mp4 mpeg mplayer msn mtp mudflap multilib multislot musepack music mysql ncurses nemesi nls nptl nptlonly nsplugin nss ntp ocaml ocamlopt octave ogg omega openexr opengl openmp openntpd otr pam pango parport parport-giveio passwdqc pch pcre pda pdf perl phonon pipechan pkcs11 plotutils png pop postgres postproc postscript ppds pppd presto pstricks publishers pulseaudio python qemu qt3support qt4 quicktime rar readline reflection rnca rtsp ruby sasl schroedinger science sdl sdl-image secure-delete semantic-desktop sensord session shout sidebar sip smi smime sms smtp sndfile snmp speex spell spl sqlite sqlite3 sse sse2 sse3 ssh ssl ssse3 startup-notification stream strong-optimization subversion svg sysfs syslog system-sqlite t1lib taglib tcpd teletext tga theora threads thumbnail thunar tiff tokyocabinet tools truetype udev udev-acl unicode upnp usb utils v4l v4l2 vaapi vcd vcdinfo vcdx vim-syntax virtualbox vorbis wav wavpack webdav webkit wifi winpopup wmf x264 xcb xcomposite xine xml xorg xosd xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa intel v4l fbdev" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

sci-libs/lapack-reference-3.2.1-r1 was built with the following:
USE="(multilib) test -debug -doc"
Comment 1 Olivier Huber 2010-03-10 19:28:21 UTC
Created attachment 223049 [details, diff]
patch proposal
Comment 2 Justin Lecher (RETIRED) gentoo-dev 2010-03-10 20:22:59 UTC
Masked ebuilds are masked for a reason. please look into ${PORTDIR}/profile/package.mask if you like to know why they are masked.
Comment 3 Olivier Huber 2010-03-10 21:29:34 UTC
(In reply to comment #2)
> Masked ebuilds are masked for a reason. please look into
> ${PORTDIR}/profile/package.mask if you like to know why they are masked.

Please note that I'm speaking of *sci-libs/lapack-reference-3.2.1-r1* and *sci-libs/blas-atlas-3.9.23-r1* which is in the tree and not masked, and not *sci-libs/lapack-atlas*

I'll reopen it since this is perfectly valid.

Comment 4 Justin Lecher (RETIRED) gentoo-dev 2010-03-11 07:53:24 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > Masked ebuilds are masked for a reason. please look into
> > ${PORTDIR}/profile/package.mask if you like to know why they are masked.
> 
> Please note that I'm speaking of *sci-libs/lapack-reference-3.2.1-r1* and
> *sci-libs/blas-atlas-3.9.23-r1* which is in the tree and not masked, and not
> *sci-libs/lapack-atlas*
> 
> I'll reopen it since this is perfectly valid.
> 

Then what you are is more invalid as the blas and lapack implementation always have to have the same version number which also forced by the ebuild

CDEPEND="virtual/blas
        virtual/cblas
        app-admin/eselect-lapack
        ~sci-libs/blas-atlas-${BlasRelease}"

Where BlasRelease=$(get_version_component_range 1-3).

and for me that works.

# emerge -p =sci-libs/lapack-atlas-3.9.21-r1

Calculating dependencies... done!
[ebuild     UD] sci-libs/lapack-atlas-3.9.21-r1 [3.9.23-r1]
[ebuild     UD]  sci-libs/blas-atlas-3.9.21-r1 [3.9.23-r1]