libBlast ported to MacOSX

From: Christopher Crawford (chris2@lns.mit.edu)
Date: Wed Oct 26 2005 - 18:07:01 EDT


With newfound motivation, I have ported libBlast to OSX. I'm not too
familiar with the macs, so no guarantees it was done the right way,
but at least it works. The changes have been checked into
CVS. Here are the steps to compiling on the mac (tested on OS 10.4):

* install fink.sourceforge.org (Fink-0.8.0-Installer.dmg for 10.4)
    and then all of the cernlib and mysql packages using Fink Commander
* libBlast doesn't compile under gcc-4.0 so compile ROOT with gcc-3.3
    I'm not positive it is necessary, but you can do so by either:
    a) edit $ROOTSYS/config/Makefile.macosx: gcc -> gcc-3.3 and g+
+ -> g++-3.3
    b) or change gcc systemwide using 'gcc_select 3.3'
    some older version of OSX used gcc-3.3 by default.
    libBlast will automatically use gcc-3.3
* configure and compile libBlast the standard way

If you have any problems, let me know.
--Chris

On Jul 1, 2005, at 17:44:34, Eugene J. Geis wrote:

> 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