Message-ID: <e9832c011f5636b8cd153f1c17120f3a@c255.ucsf.edu>
Date: 2006-05-11T03:28:19Z
From: Richard Tabor
Subject: how does one dyn.load dylib shared libraries?
In-Reply-To: <153F8168-2B1A-4DC9-A9FC-328F856E8ECD@r-project.org>
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