|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
dynamic library helpGuys,
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 |
|
|
Re: dynamic library helpI had a similar issue under Linux, and if I recall correctly, I ended up
having to link in the FORTRAN libraries too in order to resolve all the symbols. (I think for gcc 3.x this was libg2c.) Also, one needs to ensure all the shared libraries have been compiled PIC flag (position independent code.) Clint Whaley wrote: > 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 > > -- Article. VI. Clause 3 of the constitution of the United States states: "The Senators and Representatives before mentioned, and the Members of the several State Legislatures, and all executive and judicial Officers, both of the United States and of the several States, shall be bound by Oath or Affirmation, to support this Constitution; but no religious Test shall ever be required as a Qualification to any Office or public Trust under the United States." ------------------------------------------------------------------------- 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 |
| Free embeddable forum powered by Nabble | Forum Help |