[BLAST_ANAWARE] Building a bundled "libBlast.so" instead of shared libraries

From: Eugene J. Geis (Eugene.Geis@asu.edu)
Date: Fri Jul 01 2005 - 19:44:34 EDT


In ROOT, I'm trying to load "libBlast.so". This is the output:

root [0] .L libBlast.so
dlopen error: dlcompat: dyld: /sw/bin/root.exe malformed library: /Users/eugenegeis/analysis/./
libBlast.so (not a Mach-O file, bad magic number)

Load Error: Failed to load Dynamic link library /Users/eugenegeis/analysis/./libBlast.so
*** Interpreter error recovered ***

"$ file libBlast.so" returns:
libBlast.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

I've found some webpages that explain that OSX has problems with a few details, dlopen(), i.e.

> To build a shared object on Mac OS X, you need to link with "-bundle" instead of "-shared". You also
> usually specify "-bundle_loader /path/to/executable" to reference the external symbols that might be
> used in the shared object. If you don't know the bundle_loader you can specify "-flat_namespace
> -undefined suppress"

#1: I can't build "libBlast.so" on OSX because
$ ./configure --build=ppc --with-lapack=/sw/lib/
returns, "unknown architecture".

#2: Can -bundle, -shared be used with ./configure scripts on the Blast machines? I've read elsewhere
that custom written Makefiles aren't good with the -bundle handling, so I'm not hopeful that building
on linux with our custom makefile will do the trick.

#3: Anyone who might have gotten libBlast.so to compile or work with their MAC, can they copy the
library to a blast machine and tell me where to get it???

eugene



This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:32 EST