Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 502406 - sci-libs/scipy-0.12.1 with sci-libs/mkl - libraries mkl_gf_lp64kl_sequentialkl_core,mkl_gf_lp64kl_sequentialkl_core not found in ['/opt/intel/mkl/10.0.5.025/lib/em64t', '/usr/lib64']
Summary: sci-libs/scipy-0.12.1 with sci-libs/mkl - libraries mkl_gf_lp64kl_sequentialk...
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-25 14:13 UTC by HMolina
Modified: 2015-02-19 08:40 UTC (History)
0 users

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


Attachments
emerge -vpq sci-libs/scipy (emerge-log.txt,232 bytes, text/plain)
2014-02-25 14:16 UTC, HMolina
Details
build.log (build.log,13.25 KB, text/plain)
2014-02-27 12:17 UTC, HMolina
Details

Note You need to log in before you can comment on or make changes to this bug.
Description HMolina 2014-02-25 14:13:17 UTC
When tries to compile the scipy-0.12.1 using Intel MKL libraries, the compilation is broken. The problem is in the pc_libs function in the scipy-0.12.1.ebuild file.

Reproducible: Always

Steps to Reproduce:
emerge -aD scipy

Actual Results:  
Do not compile


The set of MKL libraries begins with m letter, so, the list of libraries for blas looks like:
-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread

The function pc_libs is:
pc_libs() {
        $(tc-getPKG_CONFIG) --libs-only-l $@ | \
                sed -e 's/[ ]-l*\(pthread\|m\)[ ]*//g' \
                -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//'
}

when execute this function:
pkg-config --libs-only-l blas, the results are:
-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread
But with the sed filter:
pkg-config --libs-only-l blas | sed -e 's/[ ]-l*\(pthread\|m\)[ ]*//g'
the library list are:
-lmkl_gf_lp64kl_sequentialkl_core

Which are ill formed and the compilation fails.

The emerge info is:
Portage 2.2.7 (default/linux/amd64/13.0/desktop, gcc-4.7.3, glibc-2.17, 3.10.25-gentoo x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.10.25-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_E5-2670_0_@_2.60GHz-with-gentoo-2.2
KiB Mem:    66089512 total,  49125812 free
KiB Swap:   67108860 total,  67108860 free
Timestamp of tree: Sat, 22 Feb 2014 21:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r3, 3.2.5-r3, 3.3.3
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13::<unknown repository>, 2.69
sys-devel/automake:       1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 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
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=core2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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="-O3 -march=core2 -pipe"
DISTDIR="/usr/portage/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"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j16"
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="/var/tmp"
PORTDIR="/export/cressida/portage/portage_xeon64"
PORTDIR_OVERLAY=""

The logs will attached after.

H.
Comment 1 HMolina 2014-02-25 14:16:59 UTC
Created attachment 371216 [details]
emerge -vpq sci-libs/scipy
Comment 2 HMolina 2014-02-25 14:19:27 UTC
Hi,
Just, changing the function form:
pc_libs() {
        $(tc-getPKG_CONFIG) --libs-only-l $@ | \
                sed -e 's/[ ]-l*\(pthread\|m\)[ ]*//g' \
                -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//'
}

to

pc_libs() {
        $(tc-getPKG_CONFIG) --libs-only-l $@ | \
                sed -e 's/[ ]-l*\(pthread\|m \)[ ]*//g' \
                -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//'
}

The sed filter works correctly.

H.
Comment 3 HMolina 2014-02-25 17:21:51 UTC
Other comment:

The same problem in all scipy versions 0.12.1 till 0.13.3
And in numpy 1.8.0-r1

:-|

T.I.A.

H.
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2014-02-26 22:45:27 UTC
Comment on attachment 371216 [details]
emerge -vpq sci-libs/scipy

That's not the build log.
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2014-02-26 22:46:32 UTC
Please attach the entire build log to this bug report.
Comment 6 HMolina 2014-02-27 12:17:37 UTC
Created attachment 371392 [details]
build.log

The build log for the command:
emerge -aD scipy

Version 0.12.1

Looks the line 44, where looks for the blas libraries.

the correct set is:
mkl_gf_lp64,mkl_sequential,mkl_core
and generates
mkl_gf_lp64kl_sequentialkl_core

T.I.A.
Comment 7 Justin Lecher (RETIRED) gentoo-dev 2015-02-19 08:40:25 UTC
Please see whether this is still valid for scipy 0.14/0.15.