[R-SIG-Mac] rgl revisions to allow dual install

Simon Urbanek simon.urbanek at r-project.org
Tue Dec 12 05:46:05 CET 2006


On Dec 11, 2006, at 7:12 AM, stefano iacus wrote:

> Duncan,
> I see now. On PPC you should use
>
>     file.exists(system.file("libs/ppc", "aglrgl.so", package ="rgl"))
>
> and, under intel,
>
>     file.exists(system.file("libs/i386", "aglrgl.so", package ="rgl"))
>
> instead of just
>
>     file.exists(system.file("libs", "aglrgl.so", package ="rgl"))
>
> i.e.
>     file.exists(system.file(file.path("libs",.Platform$r_arch),
> "aglrgl.so", package ="rgl"))
>

you can drop the file.path there i.e.
system.file("libs",.Platform$r_arch,"aglrgl.so", package ="rgl")

and yes, everyone should be careful when using libs, because multi- 
arch builds are now more common (not just on Macs).


> And yes, you have to explicitly set the DISPLAY var under the shell  
> unless you use xterm.
>
> I have only one doubt, which I'm going to verify: if you override the
> DYLD_LIBRARY_PATH var there should be potential problems with tcltk
> which is still x11.
>

Nope - the line is in fact a noop in current versions of R, because  
we no longer set DYLD_LIBRARY_PATH anymore (it was causing too much  
trouble).

Cheers,
Simon

BTW: this is the second message I didn't get from Duncan - is there  
some filtering in place?

>
>
>
> On 11/dic/06, at 20:49, Duncan Murdoch wrote:
>
>> On 12/10/2006 8:51 PM, stefano iacus wrote:
>>> It builds fine on PCC and apparently the two libs are in the
>>> installed directory.
>>> The only problem is that both on X11 term and on R.app always the
>>> X11 .dll is taken, so no AGL for me any more.
>>> I don't see any conditionals on .Platform$GUI in the loading of the
>>> library though.
>>
>> It's in the .onLoad function in zzz.R:
>>
>>    if ( .Platform$OS.type == "unix" ) {
>>      unixos <- system("uname",intern=TRUE)
>>      if ( unixos == "Darwin" ) {
>>        # For MacOS X we have to remove /usr/X11R6/lib from the
>> DYLD_LIBRARY_PATH
>>        # because it would override Apple's OpenGL framework
>>
>> Sys.putenv("DYLD_LIBRARY_PATH"=gsub("/usr/X11R6/lib","",Sys.getenv
>> ("DYLD_LIBRARY_PATH")))
>>        if ( .Platform$GUI == "AQUA" &&
>>             file.exists(system.file("libs", "aglrgl.so", package =
>> "rgl"))) {
>>          initValue <- 1
>>          rgl <<- "aglrgl"
>>        }
>>      }
>>    }
>>
>> Does the lib get a different name or sit somewhere else on that
>> system?
>>   I have the file.exists test in case someone has configured not to
>> build the AGL version, but maybe the filename is wrong.  Do you  
>> know a
>> safe test to see if the lib exists?
>>
>> On 12/10/2006 8:56 PM, stefano iacus wrote:
>>> and, for the standard  shell (i.e. not under xterm), I can open and
>>> plot on a  x11() device but during  demo(rgl)
>>>
>>>> rgl.open()
>>> Error in rgl.open() : rgl.open failed
>>>> rgl.open
>>
>> The initialization is currently done in .onLoad, and if it fails, no
>> additional attempts are made.  I'll see if it's safe to try again.
>>
>> By the way, did you manually set DISPLAY before you opened the x11
>> device?  I get an error in the standard shell when I try that, but
>> Sys.putenv fixes it.
>>
>> Duncan Murdoch
>>
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>
>
> _______________________________________________
> 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