FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.

» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

LinkBack Thread Tools
Old 11-29-2010, 08:57 PM
"Andreas K. Huettel"
Default cmake, ELF DT_NEEDED, sonames, and libcblas... Help!!!


I'm trying to fix the clapack ebuild so it links against _c_blas, not blas.
(Which, as soon as it works, will remove the fortran dependency for e.g.

I have a 99.99% working ebuild[*]. It generates a perfectly fine libclapack,
with one small problem: the libclapack is missing a NEEDED entry for libcblas.
$ scanelf -n libclapack.so.3.2.1
ET_DYN libf2c.so.2,libc.so.6 libclapack.so.3.2.1

Obviously this is a problem, because as soon as another application wants to
link against libclapack, it "does not know" that it also needs libcblas, and
ends up with unresolved symbols. If I tell cmake to link against blas, this
looks fine:

$ scanelf -n /usr/lib64/libclapack.so.3.2.1
ET_DYN libblas.so.0,libf2c.so.2,libc.so.6 /usr/lib64/libclapack.so.3.2.1

The relevant cmake code is for cblas (bad):

target_link_libraries(clapack cblas f2c)

and for blas (good):

target_link_libraries(clapack blas f2c)

(one byte difference). Any clue what is going on here?

I have a personal suspicion, namely that libcblas.so is (on my system)
actually (symlinked to) libgslcblas.so.0, and that maybe cmake reacts because
the library filename is not equal its SONAME. Does this make sense? And if
yes, what can I do about it?

Thanks a lot in advance for your help...

Cheers, Andreas
[*] http://git.overlays.gentoo.org/gitweb/?p=user/dilfridge.git;a=blob;f=sci-


Andreas K. Huettel
Gentoo Linux developer

Thread Tools

All times are GMT. The time now is 05:27 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org