Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 523388 - sci-libs/coinor-utils-2.9.11 USE=lapack - configure: error: user supplied LAPACK library "-lreflapack -lf77blas -lf77blas " does not work
Summary: sci-libs/coinor-utils-2.9.11 USE=lapack - configure: error: user supplied LAP...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-21 16:08 UTC by Thomas Beutin
Modified: 2014-09-26 06:19 UTC (History)
1 user (show)

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


Attachments
ebuild patch (ebuild.patch,492 bytes, patch)
2014-09-21 16:10 UTC, Thomas Beutin
Details | Diff
build.log (build.log,12.42 KB, text/x-log)
2014-09-22 18:50 UTC, Thomas Beutin
Details
config.log (config.log,97.38 KB, text/plain)
2014-09-23 18:44 UTC, Thomas Beutin
Details
build.log of sci-libs/lapack-reference-3.5.0 (build.log,919.45 KB, text/plain)
2014-09-25 09:26 UTC, Thomas Beutin
Details
config.log of sci-libs/coinor-utils-2.9.11 after merging sci-libs/lapack-reference-9999 (config.log,97.43 KB, text/x-log)
2014-09-25 12:00 UTC, Thomas Beutin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Beutin 2014-09-21 16:08:41 UTC
checking pkg-config is at least version 0.16.0... yes
checking for COIN-OR package Blas... yes
checking whether user supplied LAPACKLIB="-lreflapack -lf77blas " works... no
configure: error: user supplied LAPACK library "-lreflapack -lf77blas  -lf77blas " does not work

!!! Please attach the following file when seeking support:
!!! /tmp/portage/sci-libs/coinor-utils-2.9.11/work/coinor-utils-2.9.11_build/config.log
 * ERROR: sci-libs/coinor-utils-2.9.11::gentoo failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *          ebuild.sh, line   93:  Called src_configure
 *        environment, line 2931:  Called autotools-utils_src_configure
 *        environment, line  567:  Called econf '--enable-shared' '--disable-static' '--enable-dependency-linking' '--with-coin-instdir=/tmp/portage/sci-libs/coinor-utils-2.9.11/image//usr' '--enable-zlib' '--enable-bzlib' '--without-dot' '--with-blas-lib=-lf77blas ' '--with-glpk-incdir=/usr/include' '--with-glpk-lib=-lglpk' '--with-lapack=-lreflapack -lf77blas '
 *   phase-helpers.sh, line  584:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
 * 
 * If you need support, post the output of `emerge --info '=sci-libs/coinor-utils-2.9.11::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sci-libs/coinor-utils-2.9.11::gentoo'`.
 * The complete build log is located at '/tmp/portage/sci-libs/coinor-utils-2.9.11/temp/build.log'.
 * The ebuild environment file is located at '/tmp/portage/sci-libs/coinor-utils-2.9.11/temp/environment'.
 * Working directory: '/tmp/portage/sci-libs/coinor-utils-2.9.11/work/coinor-utils-2.9.11_build'
 * S: '/tmp/portage/sci-libs/coinor-utils-2.9.11/work/CoinUtils-2.9.11/CoinUtils'


Reproducible: Always



Expected Results:  
to get a clean compile/install i'll attach a ebuild patch

# emerge --info
Portage 2.2.8-r1 (default/linux/amd64/13.0/desktop/gnome, gcc-4.7.3, glibc-2.19-r1, 3.14.14-gentoo x86_64)
=================================================================
System uname: Linux-3.14.14-gentoo-x86_64-Intel-R-_Core-TM-_i5-2520M_CPU_@_2.50GHz-with-gentoo-2.2
KiB Mem:    16360388 total,   3358736 free
KiB Swap:   20971516 total,  20971516 free
Timestamp of tree: Fri, 19 Sep 2014 17:45:02 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.7, 3.2.5-r6, 3.3.5-r1
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.13 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo desktop-effects sunrise seden java science barzog-overlay rion x-portage
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7-avx -fomit-frame-pointer -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/fax /usr/share/gnupg/qualified.txt /var/lib/hsqldb /var/spool/fax/etc /var/spool/munin-async/.ssh"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cli-php5.5/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=corei7-avx -fomit-frame-pointer -O2 -pipe"
DISTDIR="/misc/GFZ640Gb/gentoo/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/desktop-effects /var/lib/layman/sunrise /var/lib/layman/seden /var/lib/layman/java /var/lib/layman/science /var/lib/layman/barzog-overlay /var/lib/layman/rion /usr/local/portage"
SYNC="rsync://192.168.5.1/gentoo-portage"
USE="R X X509 a52 aac aalib accounting acl acpi adns aim aio alsa amd64 amr ansi ao apache2 apng applet archive ass audio audiofile automount avahi avx bacula-console bash-completion bazaar bcmath berkdb bidi bind-mysql bittorrent blas bluetooth bluray bonobo boost bzip2 cairo calendar caps ccache cdb cdda cddb cdio cdparanoia cdr cgi chipcard chroot colord command-args consolekit corefonts cpudetection cpulimit cracklib cramfs crypt cscope css csv ctype cups curl curlwrappers customlog cvs cvsgraph cxx cyrus dba dbi dbm dbus dbx device-mapper devmap dga dhcp dirac directfb djvu dlopen dnsdb dri dts dv dvb dvd dvdr ecc egl encode excel exif expat faad fam fastcgi fat fdk ffmpeg fftw fits flac flash flatfile fltk fontconfig fpx ftp fuse gallium gd gdal gdbm gdu geoip geos gif gimp ginac git gles gles1 gles2 glib glpk glut gmp gnome-keyring gnuplot gpg gphoto2 graphviz gs gsl gssapi gstreamer gtk gtk3 gudev gzip h323 hal hardened hardenedphp hddtemp hdf5 hdri highlight hpn html http hunspell hwdb iconv icq icu idea idled idn imagemagick imap imlib imlib2 inifile innodb introspection ios ipalias ipc ipod ipv6 jabber jack java javascript jbig jingle jit jpeg jpeg2k json kdrive kerberos keymap kpathsea lame lapack latex lcms ldap less libass libnotify libsamplerate libv4l libv4l2 libwww lm_sensors lmtp logrotate logwatch lua lzma lzo mad magic matroska mbox mcal md5sum memlimit mercurial mgetty mhash midi milter mime mimencode ming mmap mms mmx mmxext mng mp3 mp4 mpeg mplayer msn mtp multilib musepack musicbrainz mysql mysqli nagios-dns nagios-game nagios-ntp nagios-ping nagios-ssh nautilus ncurses netboot netcdf netlink network networkmanager nfs nis nls nntp nptl nsplugin nss ntfs ntp oav ocaml ocamlopt ocatve octave odbc offensive ogg openal openexr opengl openmp openrc openssh openssl orc osc oscar pam pam_chroot pam_timestamp pango parse-clocks pcf pcntl pcre pda pdf pdfkit pdflib perl php pic plotutils png policykit posix postfix postgis postgres postscript ppds procmail ps pulseaudio pwdb python qdbm qt4 quotas quvi radius raw rdesktop readline recode reiserfs rrdtool rss rtmp samba sample sasl scanner schroedinger screen sendfile sensord session sftp sftplogging shaper shared sharedext shorten sieve simplexml slang slp smartcard smime smp sms smtp sna sndfile snmp snortsam soap sockets socks5 sound sox spamassassin spatialite speex spell spl sql sqlite sqlite3 sse sse2 sse3 sse4 sse4_1 ssl ssse3 stream subversion svg sysfs syslog sysvipc szip taglib tcpd telepathy theora threads tidy tiff timidity tokenizer tools transparent-proxy truetype truetype-fonts type1-fonts udev udisks unicode upnp upnp-av usb userlocales utf8 uuid v4l vaapi vala vcd vhosts video vim-syntax virtual-users virus-scan vnc vorbis vpx wddx weather webdav webkit webm webp wifi win32codecs withsamplescripts wmf x264 x265 xattr xcb xcomposite xetex xface xfs xft xinerama xinetd xml xml2 xmlrpc xmp xmpp xorg xosd xpdf-headers xpm xrandr xscreensaver xsl xslt xv xvfb xvid xvmc yahoo yaml yaz zlib zvbi" ABI_X86="64" APACHE2_MODULES="access auth auth_basic auth_digest authn_default authn_core authn_file authz_core authz_groupfile authz_host authz_user authn_dbm authn_dbd authz_dbd dbd ident imagemap authn_file authn_default authz_groupfile authn_alias authn_anon authz_dbm authz_owner authz_default authz_user auth_digest authz_host alias file_cache echo charset_lite cache disk_cache mem_cache ext_filter case_filter case-filter-in deflate filter mime_magic cern_meta proxy_ajp proxy_balancer expires headers usertrack proxy proxy_connect proxy_ftp proxy_http info include cgi cgid dav dav_lock dav_fs vhost_alias speling rewrite log_config logio env setenvif mime status substitute autoindex asis negotiation dir imap actions userdir so unique_id version dumpio log_forensic reqtimeout socache_shmcb unixd proxy_fcgi slotmem_shm ratelimit remoteip lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic lbmethod_heartbeat" APACHE2_MPMS="worker" CURL_SSL="nss" ELIBC="glibc" FFTOOLS="cws2fws qt-faststart aviocat ismindex" GPSD_PROTOCOLS="aivdm sirf mtk3301 gpsclock superstar2 timing nmea" GRUB_PLATFORMS="pc multiboot efi coreboot efi-64" INPUT_DEVICES="keyboard mouse evdev wacom synaptics" KERNEL="linux" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer nlpsolver pdfimport wiki-publisher" LINGUAS="en_GB en en_US de_DE de" PHP_TARGETS="php5-4 php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby20" SANE_BACKENDS="net hp" USERLAND="GNU" VIDEO_CARDS="vga intel i915 i965 fbdev vesa" XFCE_PLUGINS="brightness clock xmonad multiload-nandhp trash"
USE_PYTHON="2.7 3.2 3.3"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Thomas Beutin 2014-09-21 16:10:55 UTC
Created attachment 385242 [details, diff]
ebuild patch

using this patch everything compiles and installs fine
Comment 2 Justin Lecher (RETIRED) gentoo-dev 2014-09-22 07:03:50 UTC
Which blas, cblas and lapack are you using?
Please attach a build.log.

  --with-lapack-lib linker flags for using package Lapack

I don't think this is a good idea.
Comment 3 Thomas Beutin 2014-09-22 18:50:08 UTC
Created attachment 385296 [details]
build.log
Comment 4 Thomas Beutin 2014-09-22 18:52:23 UTC
# for i in lapack blas cblas ; do eselect $i list ; done
Available providers for lapack:
  [1]   atlas
  [2]   atlas-threads
  [3]   reference *
Available providers for blas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   openblas-dynamic-int64-threads
  [4]   reference
Available providers for cblas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   gsl
  [4]   openblas-dynamic-int64-threads
  [5]   reference
Comment 5 Thomas Beutin 2014-09-22 19:04:04 UTC
(In reply to Thomas Beutin from comment #4)
[...]
> Available providers for lapack:
>   [1]   atlas
>   [2]   atlas-threads
>   [3]   reference *

if i change this to [1] atlas everything works fine.

So what should we do now?
Comment 6 François Bissey 2014-09-22 22:06:26 UTC
checking whether user supplied LAPACKLIB="-lreflapack -lf77blas " works... no
configure: error: user supplied LAPACK library "-lreflapack -lf77blas  -lf77blas " 

The problem is probably that the line doesn't include -latlas. As far as I can see passing the values with --with-lapack-lib doesn't do what you think it does. If you do "ldd -r /usr/lib64/libCoinUtils.so.3.9.11" does it report reflapack?
Comment 7 François Bissey 2014-09-22 22:14:51 UTC
In fact the ebuild currently has:
	if use blas; then
		myeconfargs+=( --with-blas-lib="$($(tc-getPKG_CONFIG) --libs blas)" )
	else
		myeconfargs+=( --without-blas )
	fi

which is probably what prompted the form of the patch but I am fairly sure that's wrong too. It is very to figure out because detection relies on macros not shipped with the coinor-utils tarball but the straight configure file logic seem to point out to that using --with-{blas,lapack}-lib=-lsomelibs  won't do what you expect.
# Check whether --with-blas or --without-blas was given.
if test "${with_blas+set}" = set; then
  withval="$with_blas"
  use_blas="$withval"
else
  use_blas=
fi;

# if user specified --with-blas-lib, then we should give COIN_CHECK_PACKAGE
# preference

# Check whether --with-blas-lib or --without-blas-lib was given.
if test "${with_blas_lib+set}" = set; then
  withval="$with_blas_lib"
  use_blas=BUILD
fi;

And then so more complicated action. Similarly with lapack. Just using --with-{blas,lapack}-lib=-lsomelibs will not be catch by anything up there and will move to autodetection/building internal copy.
Comment 8 Thomas Beutin 2014-09-23 05:51:36 UTC
(In reply to Francois Bissey from comment #6)
[...]
> The problem is probably that the line doesn't include -latlas. As far as I
> can see passing the values with --with-lapack-lib doesn't do what you think
> it does. If you do "ldd -r /usr/lib64/libCoinUtils.so.3.9.11" does it report
> reflapack?

# for i in lapack blas cblas ; do eselect $i list ; done
Available providers for lapack:
  [1]   atlas *
  [2]   atlas-threads
  [3]   reference
Available providers for blas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   openblas-dynamic-int64-threads
  [4]   reference
Available providers for cblas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   gsl
  [4]   openblas-dynamic-int64-threads
  [5]   reference

# ldd -r /usr/lib64/libCoinUtils.so.3.9.11 
	linux-vdso.so.1 (0x00007fff6a5ff000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fee51be1000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fee519cb000)
	libglpk.so.0 => /usr/lib64/libglpk.so.0 (0x00007fee516fe000)
	libatllapack.so.3 => /usr/lib64/libatllapack.so.3 (0x00007fee50e10000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libstdc++.so.6 (0x00007fee50b08000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fee5080d000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fee50467000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fee50251000)
	libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007fee50046000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fee4fe42000)
	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007fee4fbcc000)
	libgfortran.so.3 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgfortran.so.3 (0x00007fee4f8b5000)
	libatlas.so.3 => /usr/lib64/libatlas.so.3 (0x00007fee4f1c9000)
	libatlcblas.so.3 => /usr/lib64/libatlcblas.so.3 (0x00007fee4efa4000)
	libf77blas.so.3 => /usr/lib64/libf77blas.so.3 (0x00007fee4ed80000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fee52186000)
	libquadmath.so.0 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libquadmath.so.0 (0x00007fee4eb4a000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fee4e92b000)
Comment 9 François Bissey 2014-09-23 07:44:03 UTC
I meant with your patch and lapack reference. Without your patch and atlas things probably configure properly.

What would be really useful is /tmp/portage/sci-libs/coinor-utils-2.9.11/work/coinor-utils-2.9.11_build/config.log when you get the cinfiguration failure with lapack-reference.
Comment 10 Thomas Beutin 2014-09-23 18:39:40 UTC
(In reply to Francois Bissey from comment #9)
> I meant with your patch and lapack reference. Without your patch and atlas
> things probably configure properly.

# for i in lapack blas cblas ; do eselect $i list ; done
Available providers for lapack:
  [1]   atlas
  [2]   atlas-threads
  [3]   reference *
Available providers for blas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   openblas-dynamic-int64-threads
  [4]   reference
Available providers for cblas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   gsl
  [4]   openblas-dynamic-int64-threads
  [5]   reference

after compiling with my ebuild i get this:

# ldd -r /usr/lib64/libCoinUtils.so.3.9.11 
	linux-vdso.so.1 (0x00007fff7edff000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f419f229000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f419f013000)
	libglpk.so.0 => /usr/lib64/libglpk.so.0 (0x00007f419ed46000)
	libreflapack.so => /usr/lib64/libreflapack.so (0x00007f419e439000)
	libf77blas.so.3 => /usr/lib64/libf77blas.so.3 (0x00007f419e216000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libstdc++.so.6 (0x00007f419df0d000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f419dc13000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f419d86d000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f419d656000)
	libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007f419d44c000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f419d248000)
	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f419cfd1000)
	librefblas.so => /usr/lib64/librefblas.so (0x00007f419cd77000)
	libgfortran.so.3 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgfortran.so.3 (0x00007f419ca61000)
	libatlas.so.3 => /usr/lib64/libatlas.so.3 (0x00007f419c374000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f419f7ce000)
	libquadmath.so.0 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libquadmath.so.0 (0x00007f419c13e000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f419bf1f000)
undefined symbol: blas_zhemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_ssymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dsymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_csymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zsymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dsymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_csymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zhemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_ssymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zsymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_chemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_chemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgemv_x_	(/usr/lib64/libreflapack.so)



> What would be really useful is
> /tmp/portage/sci-libs/coinor-utils-2.9.11/work/coinor-utils-2.9.11_build/
> config.log when you get the cinfiguration failure with lapack-reference.

i'll attach this soon.
Comment 11 Thomas Beutin 2014-09-23 18:44:28 UTC
Created attachment 385346 [details]
config.log

config.log of the failed configure run
Comment 12 François Bissey 2014-09-23 21:31:25 UTC
It looks like your reflapack is broken and while it seems to build with your patch it looks like the resulting coinor library is broken.
The issue here is that your refblas wants symbols prefixed with blas, which is curious and I don't have anything like this here.

So in the first instance rebuild lapack-reference and see if those symbols are still there. If they are still there we are really looking at a problem with lapack-reference on your machine. The problem with coinor-utils is just an external symptom.
Comment 13 Thomas Beutin 2014-09-24 20:19:40 UTC
(In reply to Francois Bissey from comment #12)
> It looks like your reflapack is broken and while it seems to build with your
> patch it looks like the resulting coinor library is broken.

ok, this i understand by now.

> The issue here is that your refblas wants symbols prefixed with blas, which
> is curious and I don't have anything like this here.

me neither ;)

> So in the first instance rebuild lapack-reference and see if those symbols
> are still there. If they are still there we are really looking at a problem
> with lapack-reference on your machine. The problem with coinor-utils is just
> an external symptom.

i rebuilded sci-libs/lapack-reference-3.5.0 (it's from "science" overlay) using these providers:
# for i in lapack blas cblas ; do eselect $i list ; done
Available providers for lapack:
  [1]   atlas *
  [2]   atlas-threads
  [3]   reference
Available providers for blas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   openblas-dynamic-int64-threads
  [4]   reference
Available providers for cblas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   gsl
  [4]   openblas-dynamic-int64-threads
  [5]   reference

and this is the result:
# strings -a /usr/lib64/libreflapack.so | grep 'blas_...mv'
blas_sgemv2_x_
blas_sgemv_x_
blas_ssymv2_x_
blas_ssymv_x_
blas_sgbmv2_x_
blas_sgbmv_x_
blas_dgemv2_x_
blas_dgemv_x_
blas_dsymv2_x_
blas_dsymv_x_
blas_dgbmv2_x_
blas_dgbmv_x_
blas_cgemv2_x_
blas_cgemv_x_
blas_csymv2_x_
blas_csymv_x_
blas_chemv2_x_
blas_chemv_x_
blas_cgbmv2_x_
blas_cgbmv_x_
blas_zgemv2_x_
blas_zgemv_x_
blas_zsymv2_x_
blas_zsymv_x_
blas_zhemv2_x_
blas_zhemv_x_
blas_zgbmv2_x_
blas_zgbmv_x_
Comment 14 François Bissey 2014-09-25 01:12:05 UTC
I most likely need the log of your lapack-reference build but I have a couple of ideas that may be diagnosed. I would like the output of
readelf -d /usr/lib64/libreflapack.so
and 
ldd -r /usr/lib64/libreflapack.so
Comment 15 Thomas Beutin 2014-09-25 08:10:30 UTC
(In reply to Francois Bissey from comment #14)
> I most likely need the log of your lapack-reference build but I have a
> couple of ideas that may be diagnosed. I would like the output of

let me check how i can keep the log, and i'll attach it later


> readelf -d /usr/lib64/libreflapack.so
# readelf -d /usr/lib64/libreflapack.so

Dynamic section at offset 0x5fbdb8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libf77blas.so.3]
 0x0000000000000001 (NEEDED)             Shared library: [libgfortran.so.3]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libreflapack.so]
 0x000000000000000c (INIT)               0x1fab0
 0x000000000000000d (FINI)               0x5c78c8
 0x0000000000000019 (INIT_ARRAY)         0x7fbda0
 0x000000000000001b (INIT_ARRAYSZ)       8 (bytes)
 0x000000000000001a (FINI_ARRAY)         0x7fbda8
 0x000000000000001c (FINI_ARRAYSZ)       8 (bytes)
 0x0000000000000004 (HASH)               0x1c8
 0x000000006ffffef5 (GNU_HASH)           0x3018
 0x0000000000000005 (STRTAB)             0x11b80
 0x0000000000000006 (SYMTAB)             0x6378
 0x000000000000000a (STRSZ)              16878 (bytes)
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000003 (PLTGOT)             0x7fc000
 0x0000000000000002 (PLTRELSZ)           35976 (bytes)
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000017 (JMPREL)             0x16e28
 0x0000000000000007 (RELA)               0x16d68
 0x0000000000000008 (RELASZ)             192 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffffe (VERNEED)            0x16cc8
 0x000000006fffffff (VERNEEDNUM)         4
 0x000000006ffffff0 (VERSYM)             0x15d6e
 0x000000006ffffff9 (RELACOUNT)          3
 0x0000000000000000 (NULL)               0x0

> ldd -r /usr/lib64/libreflapack.so
# ldd -r /usr/lib64/libreflapack.so
	linux-vdso.so.1 (0x00007fff795ff000)
	libf77blas.so.3 => /usr/lib64/libf77blas.so.3 (0x00007fc9bc549000)
	libgfortran.so.3 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgfortran.so.3 (0x00007fc9bc232000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fc9bbf38000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc9bbd22000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fc9bb97c000)
	libatlas.so.3 => /usr/lib64/libatlas.so.3 (0x00007fc9bb28f000)
	libquadmath.so.0 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libquadmath.so.0 (0x00007fc9bb059000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fc9bd0cf000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc9bae3a000)
undefined symbol: blas_zhemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_ssymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dsymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_csymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zsymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dsymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_csymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zhemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_ssymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zsymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_chemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_chemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgemv_x_	(/usr/lib64/libreflapack.so)
Comment 16 François Bissey 2014-09-25 09:11:46 UTC
Hum... I was hoping for some clues but they are not there. The quickest way to generate a log in those circumstances would be to use the ebuild command directly as a normal user.
ebuild /var/lib/layman/sci/sci-libs/lapack-reference/lapack-reference-3.5.0.ebuild install
should do it without installing anything on the system. Once you got your log you can mop up by replacing install with clean.
Comment 17 Thomas Beutin 2014-09-25 09:26:44 UTC
Created attachment 385428 [details]
build.log of sci-libs/lapack-reference-3.5.0

# for i in lapack blas cblas ; do eselect $i list ; done
Available providers for lapack:
  [1]   atlas *
  [2]   atlas-threads
  [3]   reference
Available providers for blas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   openblas-dynamic-int64-threads
  [4]   reference
Available providers for cblas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   gsl
  [4]   openblas-dynamic-int64-threads
  [5]   reference
Comment 18 François Bissey 2014-09-25 09:58:53 UTC
OK, now I have a good idea what's happening. All those symbols belong to xblas. That's the _x at the end. But libreflapack is not properly linked to it. I.e. the final libreflapack.so library wasn't linked with -lxblas (or whatever it is supposed to be) so libreflapack doesn't know where to get those symbols.

As far as I can see we should either make libreflapack link against libxblas or add it in the .pc file for reflapack, possibly in the require section since we install a xblas.pc

A quick and dirty hack to the whole thing is probably to edit manually
/usr/lib64/pkg_config/reflapack
and change the last line from 
Requires: blas
to 
Requires: blas xblas

Technically I guess we should do both. Amend the .pc file and link.
Comment 19 François Bissey 2014-09-25 10:15:03 UTC
Ouch it is linked, but not in a "useful" way:
-lf77blas /usr/lib64/libxblas.so
Still have to augment the .pc file in any case.
Comment 20 Thomas Beutin 2014-09-25 10:21:26 UTC
(In reply to Francois Bissey from comment #18)
[...] 
> Technically I guess we should do both. Amend the .pc file and link.

Ok, now i'm lost. Is there anything that i could/should do by now?

I'll do if you just tell me what... ;)
Comment 21 François Bissey 2014-09-25 10:25:42 UTC
(In reply to Thomas Beutin from comment #20)
> (In reply to Francois Bissey from comment #18)
> [...] 
> > Technically I guess we should do both. Amend the .pc file and link.
> 
> Ok, now i'm lost. Is there anything that i could/should do by now?
> 
> I'll do if you just tell me what... ;)

We need to fix the lapack-reference ebuild. I guess I could hack it tonight if no one beats me to it. I will just fix the .pc file. You can do it manually as I suggested if you are game.
Comment 22 François Bissey 2014-09-25 10:46:47 UTC
OK, got to it faster than I thought I could. Sync the science overlay, rebuild lapack-reference, eselect it and then try again.
I am positive I fixed it but nothing beats an experimental fact.
Comment 23 Thomas Beutin 2014-09-25 11:57:48 UTC
(In reply to Francois Bissey from comment #22)
> OK, got to it faster than I thought I could. Sync the science overlay,
> rebuild lapack-reference, eselect it and then try again.

i synced, enabled =sci-libs/lapack-reference-9999, emerged it, and at the end i've still those unresolved symbols:

# ldd -r /usr/lib64/libreflapack.so 
	linux-vdso.so.1 (0x00007fffa0591000)
	libf77blas.so.3 => /usr/lib64/libf77blas.so.3 (0x00007f18d47a3000)
	libgfortran.so.3 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgfortran.so.3 (0x00007f18d448c000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f18d4192000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f18d3f7c000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f18d3bd6000)
	libatlas.so.3 => /usr/lib64/libatlas.so.3 (0x00007f18d34e9000)
	libquadmath.so.0 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libquadmath.so.0 (0x00007f18d32b3000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f18d5329000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f18d3094000)
undefined symbol: blas_zhemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_ssymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dsymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_csymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zsymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dsymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_csymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zhemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_sgbmv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_ssymv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zsymv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_chemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_chemv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_cgbmv_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_dgemv2_x_	(/usr/lib64/libreflapack.so)
undefined symbol: blas_zgemv_x_	(/usr/lib64/libreflapack.so)

Despite i (e)selected lapack-reference:
# for i in lapack blas cblas ; do eselect $i list ; done
Available providers for lapack:
  [1]   atlas
  [2]   atlas-threads
  [3]   reference *
Available providers for blas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   openblas-dynamic-int64-threads
  [4]   reference
Available providers for cblas:
  [1]   atlas *
  [2]   atlas-threads
  [3]   gsl
  [4]   openblas-dynamic-int64-threads
  [5]   reference

But the build of sci-libs/coinor-utils-2.9.11 failed for the same reason:
[...]
checking for COIN-OR package Blas... yes
checking whether user supplied LAPACKLIB="-lreflapack -lf77blas -lxblas " works... no
configure: error: user supplied LAPACK library "-lreflapack -lf77blas -lxblas  -lf77blas " does not work

!!! Please attach the following file when seeking support:
!!! /tmp/portage/sci-libs/coinor-utils-2.9.11/work/coinor-utils-2.9.11_build/config.log

I'll attach the build.log
Comment 24 Thomas Beutin 2014-09-25 12:00:22 UTC
Created attachment 385436 [details]
config.log of sci-libs/coinor-utils-2.9.11 after merging sci-libs/lapack-reference-9999

it's the config log instead of the build.log
Comment 25 François Bissey 2014-09-25 12:05:09 UTC
That's quite annoying. Output of 
nm -D /usr/lib64/libxblas.so | grep blas_

I will have to sleep on it until morning.
Comment 26 Thomas Beutin 2014-09-25 12:35:36 UTC
(In reply to Francois Bissey from comment #25)
> That's quite annoying. Output of 
> nm -D /usr/lib64/libxblas.so | grep blas_

# nm -D /usr/lib64/libxblas.so | grep blas_
00000000000099c0 T blas_free
00000000000099b0 T blas_malloc
00000000000099e0 T blas_realloc


> I will have to sleep on it until morning.

Good night! :)
Comment 27 François Bissey 2014-09-25 21:18:58 UTC
Well I did a basic install of xblas and I have a lot more blas_* symbol, I certainly have a truckload of cblas_*_x_ ones. Perhaps you have an old instal of xblas? But actually there is another bug in lapack-reference I am sure, the dependency should be on xblas[fortran]. Have you built xblas with the fortran use flag?

One quick check later and it looks like this is exactly the problem. Without the fortran flag you get c symbols in BLAS_*_x but none in blas_*_x_ which are all fortran ones.

Fixing...
Comment 28 François Bissey 2014-09-25 21:23:12 UTC
OK pushed. Now rebuilding lapack-reference[xblas] will ask you to rebuild xblas[fortran] be sure to update your useflags.
Comment 29 Thomas Beutin 2014-09-26 06:15:39 UTC
(In reply to Francois Bissey from comment #28)
> OK pushed. Now rebuilding lapack-reference[xblas] will ask you to rebuild
> xblas[fortran] be sure to update your useflags.

that seems to solve the issue:

# ldd -r /usr/lib64/libreflapack.so 
	linux-vdso.so.1 (0x00007fffb69e8000)
	libf77blas.so.3 => /usr/lib64/libf77blas.so.3 (0x00007f3a10687000)
	libxblas.so.1.0 => /usr/lib64/libxblas.so.1.0 (0x00007f3a100d9000)
	libgfortran.so.3 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgfortran.so.3 (0x00007f3a0fdc2000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f3a0fac8000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3a0f8b2000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f3a0f50b000)
	libatlas.so.3 => /usr/lib64/libatlas.so.3 (0x00007f3a0ee1f000)
	libquadmath.so.0 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libquadmath.so.0 (0x00007f3a0ebe9000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3a1120d000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3a0e9ca000)


and sci-libs/coinor-utils-2.9.11 compiled fine.