[R-SIG-Mac] RAqua, Darwin/X11 R, and tcltk

Stefano Iacus jago at mclink.it
Thu Oct 9 23:51:51 MEST 2003


Thanks to all of you! You have raised several interesting points.

Simon has the right point: the way the event loop is implemented does 
not allow several things (i.e. quartz from the shell, java problems, 
tcltk only through tkStartGUI, etc)
R-core has a commitment to change the event loop structure for R-1.9.0.

With RAqua you don't need to install another copy of R in 
/usr/local/lib, just do a couple of symbolic links

sudo ln -s /Applications/StartR.app/RAqua.app/Contents/ /usr/local/lib/R
sudo ln /Applications/StartR.app/RAqua.app/Contents/MacOS/R 
/usr/local/bin/R

and all should work as well as the former darwin/x11 release (apart the 
tcltk issue).

I had in mind to produce two versions of tcltk package: one for X11 and 
one for aqua (say aquatcltk) but it was to late for doing that in time 
for 1.8.0 and we really want to change the internal event loop so in 
the end I gave up.

We can think of prepearing a X11tcltk package and distribute as a 
special contrib binary package. I'm not sure if it can work with the 
binary of RAqua but if any of you wants to help me, we can distribute 
it (Jan? Simon?). X11 works fine from inside RAqua.

I remind all the people the main assumption beside RAqua: it is for 
people who were used to work with Carbon R and don't know how to build 
an application from sources. We have made big efforts to let R build on 
MacOSX out of the box, so any other unix-macosx user should be able to 
build R without using RAqua.
All of this is a second best, but you know we need not to stop MacOS 
support and I think RAqua is a good compromise.

Also consider that RAqua is a stand-alone application and it simply 
works. I can imagine several macos(x) users that don't know what X11 
is, what a dll is and will be never faced to "/usr" etc stuff because 
the finder doesn't show them!

BTW, we distribute binary prebuilt packages that should work also with 
an R build by users themself so, in my opinion, Jan should avoid to 
recompile all the packages.
The packages binary distributed on cran all have passed CHECK/INSTALL 
step, so they are guaranteed in some sense.
The other packages can be normally built via RAqua from sources by the 
user.

stefano

p.s. I'm actually rebuilding all the packages for RAqua 1.8.0 so until 
tomorrow you'll probably find nothing on CRAN as I have intentionally 
cleaned it. Also the following: the version of RAqua I put on cran 
yesterday wasn't built against readline. I have uploaded a new version, 
so please download the new version if you want to have the nice 
readline capability.



On Giovedì, ott 9, 2003, at 19:05 Europe/Rome, Simon Urbanek wrote:

> On Thursday, October 9, 2003, at 06:05  PM, Jan de Leeuw wrote:
>
>> What does not work:
>> [...]
>
> Since Jan is at it, I'll add my problem:
>
> RAqua + Java doesn't work. What happens is that RAqua crashes with a 
> segfault after a while (you don't even have to run any Java code 
> except for initialization). Producing any system events in RAqua 
> (clicking, moving windows etc. will do the trick) accelerates the 
> process, i.e. it happens almost immediately. This is not really a 
> fault of Java, but rather due to the RAqua design (imho). The entire 
> solution of RAqua seems to me very 'hacked' (just to have something in 
> time for 1.8) and I hope we can do much better.
> The main problem here is that the event handling is incompatible with 
> other applications. If you fire up Java, it needs to poll for system 
> events as well. But since RAqua uses its own (unsynchronized) polling, 
> the whole event system crashes. It is not a particular code (the crash 
> is every time at a different location, mostly in a system thread i.e. 
> outside R and Java), but rather a design issue.
> I suspect that taking any OS X native application (e.g. Cocoa-based) 
> will cause exactly the same problem - Java was just the first I saw to 
> trigger this.
> Running the same program in the console works fine (no wonder - no 
> event polling there ;)).
>
> Presumably most of the problems (except from the 
> I'm-using-the-wrong-library-problem) posted by Jan will go away once 
> we have the new event loop in R and everyone (incl. tcl/tk and aqua) 
> uses it.
>
> Since Jan was listing what doesn't work, I just wanted to let you know 
> about it ;). I'm going to fiddle around with the event polling issue 
> and see if it can be fixed.
>
> Cheers,
> Simon
>
> ---
> Simon Urbanek
> Department of computer oriented statistics and data analysis
> University of Augsburg
> Universitätsstr. 14
> 86135 Augsburg
> Germany
>
> Tel: +49-821-598-2236
> Fax: +49-821-598-2200
>
> Simon.Urbanek at Math.Uni-Augsburg.de
> http://simon.urbanek.info
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at stat.math.ethz.ch
> https://www.stat.math.ethz.ch/mailman/listinfo/r-sig-mac
>



More information about the R-SIG-Mac mailing list