how does one dyn.load dylib shared libraries?
I am sorry if I was not completely clear. The .a's and the .dylibs are part of the distribution with the IBM Compiler. The R CMD SHLIB works just fine. Compiling the .f to a .o works fine. The R CMD SHLIB also works fine to generate the .so. The dyn.load of the .so fails with a set of unresolved symbols that are part of one of the libraries from IBM. So I think you answered my question. I will try the gcc route. Thanks.
On May 10, 2006, at 7:03 PM, Simon Urbanek wrote:
On May 10, 2006, at 1:02 PM, Richard Tabor wrote:
I am running 2.1.0 and am using the IBMXL Fortran Compiler. It has .a and .dylib libraries which do not seem to load with dyn.load().
How are you compiling them? I don't see how you can get either .a or .dylib using R CMD SHLIB, so my guess is that it has nothing to do with the compiler but with the way you compile the sources. On OS X package libs are neither dynamic libraries (.dylib) nor static libraries (.a) - they are bundles. The compilation shouldn't matter and if in doubt you should be able to use gcc for the linking step in case the IBM compiler is not compatible.
Is there a way to load these libraries or convert them to .so's?
There is no converting, you should get the right .so directly otherwise you're doing something wrong. Please tell us more precisely what you're doing. Cheers, Simon