« Return to Thread: dynamic library help

dynamic library help

by Clint Whaley-2 :: Rate this Message:

Reply to Author | View in Thread

Guys,

I've been trying to improve ATLAS's dynamic library support for 3.9.4.  On
linux, I build .so using ld, and the default is that it is OK to have
missing symbols, so everything works OK.  On Windows & OS X, however,
it is not OK to have missing symbols.  Therefore, when I build
liblapack.dylib (OSX, would be liblapack.dll under windows), I have to
specify all the things it depends on.  So, for instance, I wind up with
something like (here I give the OS X command, but the dependency problem
is the same for using ld under Windows):

   libtool -dynamic -o ../liblapack.dylib <flags> *.o \
            ../libf77blas.dylib ../libf77blas.dylib ../libcblas.dylib

The problem is that liblapack.dylib doesn't *always* depend on libcblas:
if the user specifies it should depend on libptcblas.dylib instead.
My fear is that even if the user specifies:
   -llapack -lptf77blas -lptcblas
he might get the serial interface, if I create the shared object as using
the serial libraries.

I can figure this out by doing timings, of course, but I wonder if anyone
knows for sure what happens in this case?  Is there anyway to say that
symbols can be supplied by a choice of libraries, rather than just one?

The safe thing to do is to create a ptlapack that has dependence on the
ptblas, with lapack being dependent on the serial blas.  This has two
drawbacks: (1) We duplicate lapack, a very large library, in memory
(2) the dynamic link no longer works like the static . . .

Any info appreciated,
Clint

**************************************************************************
** R. Clint Whaley, PhD ** Assist Prof, UTSA ** www.cs.utsa.edu/~whaley **
**************************************************************************

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Math-atlas-devel mailing list
Math-atlas-devel@...
https://lists.sourceforge.net/lists/listinfo/math-atlas-devel

 « Return to Thread: dynamic library help