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

Simon Urbanek simon.urbanek at r-project.org
Sat Dec 16 22:25:18 CET 2006

On Dec 12, 2006, at 12:22 AM, Duncan Murdoch wrote:

> Simon Urbanek wrote:
>> 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).
> When I do the builds here, I don't get the .Platform$r_arch in the  
> path.

.. then you have single-arch build and  .Platform$r_arch should be ''  
and thus the path is still ok - that's what I was trying to say ...

>   (I'm just doing R CMD build, R CMD install *.tar.gz).
> So I'll put in a test that looks for the lib in both locations.
>> BTW: this is the second message I didn't get from Duncan - is  
>> there  some filtering in place?
> I don't know, but the rgl-devel address doesn't seem to be working  
> for me.  "neoscientists.net" has recently undergone a lot of  
> renovations, and that address may have been messed up.

It may be possibly combination of several things - I just got a few  
mails from R-SIG-Mac with a 3-day lag ..

> Bill was questioning the DYLD_LIBRARY_PATH line as well.  I don't  
> really know the purpose of it beyond what the comment says:  Daniel  
> put it in place a couple of years ago when he added Darwin  
> support.  We currently only require R 1.9.0 or better, so I'd  
> rather leave it there if it's harmless in current R.

It was actually my patch long time ago - it was necessary when  
DYLD_LIBRARY_PATH contained /usr/X11R6/lib [because that is what we  
do on other unices] which was throwing off the proper library lookup.  
We have fixed R since, so it is no longer needed. (FWIW unlike  
LD_LIBRARY_PATH it is actually effective immediately so the change  
really mattered).

> I've just put http://www.stats.uwo.ca/faculty/murdoch/temp/ 
> rgl_0.69.536.tar.gz online; it contains the revised test.  I've  
> also documented the dangerous function rgl.init(), which redoes the  
> initialization (in case you forgot to start X first, this gives you  
> a second chance).  It's dangerous, because if you have any open rgl  
> windows when you call it, they'll be orphaned.  There might be  
> memory leaks even in other cases, but I'm not going to take the  
> time to track them down.

Great job, thanks! It works as advertized (even universal build seems  
to be ok).


More information about the R-SIG-Mac mailing list