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
Created attachment 385242 [details, diff] ebuild patch using this patch everything compiles and installs fine
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.
Created attachment 385296 [details] build.log
# 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
(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?
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?
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.
(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)
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.
(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.
Created attachment 385346 [details] config.log config.log of the failed configure run
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.
(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_
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
(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)
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.
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
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.
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.
(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... ;)
(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.
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.
(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
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
That's quite annoying. Output of nm -D /usr/lib64/libxblas.so | grep blas_ I will have to sleep on it until morning.
(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! :)
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...
OK pushed. Now rebuilding lapack-reference[xblas] will ask you to rebuild xblas[fortran] be sure to update your useflags.
(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.