[GE users] Library compatibility on OSX

Andreas Doerr Andreas.Doerr at Sun.COM
Fri Aug 27 17:06:13 BST 2004

> > I think you can remove the libcrypto.0.9.7.dylib shipped with SGE... I just
> > did an "otool -L <executable>" and found that the SGE binaries do not use
> > this lib; and I think the one in /usr/lib should be compatible.

> attention: When installation SGE in CSP mode the library is loaded with
> dlopen() - that's the reason why you don't see a library dependency.

dlopen() loads a library called "libcrypto.dylib".

Such a library is part of Mac OS X. The libcrypto.dylib which does reside in
/usr/lib is just a symbolic link to libcrypto.0.9.7.dylib.

The libcrypto.dylib which does reside in $GSE_ROOT/lib/darwin is also a symbolic
link to libcrypto.0.9.7.dylib. This is the reason why Grid Engine does work if
you remove libcrypto.dylib in $GSE_ROOT/lib/darwin.

Since our installation does set the DYLD_LIBRARY_PATH environment variable, all
system commands will use the libcrypto.dylib in $GSE_ROOT/lib/darwin, if started
from within the same shell.

Even if we find a way to solve the 'compatible version' issue between the
/usr/lib and the $GSE_ROOT/lib/darwin libraries, this will not be a lasting
solution. The libcrypto.dylib version in /usr/lib and $GSE_ROOT/lib/darwin may
get out of sync, regarding version numbers.

The only reliable solution I see, is to use dlopen() together with a pathname and
stop relying on environment variables like DYLD_LIBRARY_PATH.

Andreas D.

To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
For additional commands, e-mail: users-help at gridengine.sunsource.net

More information about the gridengine-users mailing list