[R-SIG-Mac] How to find system directory to shared library?

cstrato cstrato at aon.at
Sun May 13 12:19:51 CEST 2007


Dear Simon

Thank you very much, this is exactly what I needed, great.

Best regards
Christian

Simon Urbanek wrote:
>
> On May 12, 2007, at 3:43 PM, cstrato wrote:
>
>> Dear all
>>
>> In my package I need to get the path to the shared library 
>> "mypackage.so".
>> Currently, I use the following code:
>>
>>    mydir <- system.file(package="mypackage")
>>    mylib <- paste(mydir, "/libs/mypackage.so", sep="")
>>
>
> This won't work on any multi-arch R (like any Mac version on CRAN) and 
> neither on Windows. In most case you shouldn't be accessing it 
> directly anyway (use library.dynam if you want to load it). If you 
> really want the path to another package's dylib, you can use something 
> like
>
> pkg = "mypackage"
> mylib = system.file("libs", .Platform$r_arch, paste(pkg, 
> .Platform$dynlib.ext, sep=''), package=pkg)
>
> Cheers,
> Simon
>
>
>> This did work with FC4 running R-2.4.1 and on my Intel-Mac running the
>> development version of R-2.5.0, which I did compile from source.
>>
>> However, now I have downloaded and installed R-2.5.0.dmg and get an
>> error since the shared library is now located in: 
>> "/libs/i386/mypackage.so"
>> So I changed the code to:
>>
>>    mydir <- paste(system.file(package="mypackage"),  "libs", sep="/");
>>    if (list.files(mydir) == "mypackage.so") {
>>       mylib  <- paste(mydir, "mypackage.so", sep="/");
>>    } else {
>>       mylib  <- paste(mydir, list.files(mydir), "mypackage.so", 
>> sep="/");
>>    }
>>
>> This works since there is only one subdirectory "i386", but not if there
>> are "i386" and "ppc" subdirectories.
>>
>> Sorrowly, the following does not work:
>>    system.file("mypackage.so", package = "mypackage")
>>
>> My question is, is there a better way to find the path to the shared
>> library?
>>
>> Best regards
>> Christian
>> _._._._._._._._._._._._._._._._
>> C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a
>> V.i.e.n.n.a       A.u.s.t.r.i.a
>> _._._._._._._._._._._._._._._._
>>
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>
>>
>
>
>



More information about the R-SIG-Mac mailing list