From rhurlin at gwdg.de  Fri Oct 22 16:18:51 2010
From: rhurlin at gwdg.de (Rainer Hurling)
Date: Fri, 22 Oct 2010 16:18:51 +0200
Subject: [Rd] [R] R-2.12.0 hangs while loading RGtk2 on FreeBSD
In-Reply-To: <AANLkTimAmo0ro2Tiw_rWAJ732R+ATRgNdS0SvuO6hYq+@mail.gmail.com>
References: <4CC03E47.2010800@gwdg.de>	<alpine.LFD.2.00.1010211508350.5999@toucan.stats.ox.ac.uk>	<4CC052D6.3030106@gwdg.de>	<alpine.LFD.2.00.1010211704340.7969@toucan.stats.ox.ac.uk>	<4CC06D6A.8040609@gwdg.de>
	<AANLkTimAmo0ro2Tiw_rWAJ732R+ATRgNdS0SvuO6hYq+@mail.gmail.com>
Message-ID: <4CC19D4B.6070605@gwdg.de>

On 22.10.2010 14:57 (UTC+1), Michael Lawrence wrote:
>
>
> On Thu, Oct 21, 2010 at 9:42 AM, Rainer Hurling <rhurlin at gwdg.de
> <mailto:rhurlin at gwdg.de>> wrote:
>
>     [moved from R-help]
>
>     On 21.10.2010 18:09 (UTC+1), Prof Brian Ripley wrote:
>
>         If you do R CMD INSTALL --no-test-load this will skip the part
>         that is
>         hanging and you can try loading in stages (e.g. dyn.load on the
>         RGtk2.so).
>
>
>     With '--no-test-load' it installs and ends normal. Loading per
>     dyn.load("RGtk2.so") works, just as dyn.load("RGtk2.so",F) and
>     dyn.load("RGtk2.so",,F). Unloading works, too.
>
>     Normal loading over library(RGtk2) within R does not work. R than is
>     hanging.
>
>     It seems the problem is not with the library itself?
>
>
> It looks like something is happening when initializing GTK+ and the
> event loop. This happens in the function R_gtkInit in Rgtk.c. If you
> could run R -d gdb and break on that function, perhaps you could step
> through until it hangs.

Michael, thank you for answering. As I wrote earlier (on R-help@), 
unfortunately I have no experience with debugging (I am not a 
programmer). So I would need some more assistence.

Is  there a difference between 'library(RGtk2)' and 'dyn.load(RGtk2)' in 
initializing GTK+? I am able to dyn.load, but library does not work.

After starting with 'R -d gdb' is the following right?

   (gdb) break R_gtkInit
   Function "R_gtkInit" not defined.
   Make breakpoint pending on future shared library load? (y or [n]) y
   Breakpoint 1 (R_gtkInit) pending.

When I try to proceed, it gives me the following message

   (gdb) run
   Starting program: /usr/local/lib/R/bin/exec/R
   /libexec/ld-elf.so.1: Shared object "libRblas.so" not found,
   required by "R"
   Program exited with code 01.

Obviously there is some wrong with my try?

Thanks again,
Rainer


> Thanks,
> Michael
>
>         I think this is rather technical for R-help, so maybe move to
>         R-devel?
>
>
>     I moved to R-devel.
>
>         And can you check the RGtk2 version? A recent but not current
>         version
>         (2.12.17?) did hang initializing Gtk+ on some platforms and Michael
>         Lawrence had to be involved.
>
>
>     I am using RGtk2_2.12.18.tar.gz for month now.
>
>
>         On Thu, 21 Oct 2010, Rainer Hurling wrote:
>
>             Am 21.10.2010 16:12 (UTC+1) schrieb Prof Brian Ripley:
>
>                 On Thu, 21 Oct 2010, Rainer Hurling wrote:
>
>                     I am working with R-2.12.0 on FreeBSD 9.0-CURRENT
>                     for a while now. I
>                     successfully installed more than 300 packages (most
>                     as dependencies of
>                     others).
>
>                     There are two packages I am not able to install:
>                     RGtk2 and rggobi.
>
>                     For example rggobi builds fine and after that it
>                     wants to load:
>
>                     ------------------------------------------------------
>                     # R CMD INSTALL rggobi_2.1.16.tar.gz
>                     [..SNIP..]
>                     gcc -std=gnu99 -shared -L/usr/local/lib -o rggobi.so
>                     RSEval.o brush.o
>                     colorSchemes.o conversion.o data.o dataset.o
>                     display.o displays.o
>                     edges.o ggobi.o identify.o init.o io.o keyHandlers.o
>                     longitudinal.o
>                     modes.o plot.o plots.o plugins.o print.o session.o
>                     smooth.o ui.o
>                     utils.o -pthread -L/usr/local/lib -lggobi
>                     -lgtk-x11-2.0 -lxml2
>                     -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0
>                     -lpangocairo-1.0 -lXext
>                     -lXrender -lXinerama -lXi -lXrandr -lXcursor
>                     -lXcomposite -lXdamage
>                     -lpangoft2-1.0 -lgio-2.0 -lXfixes -lcairo -lX11
>                     -lpango-1.0 -lm
>                     -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0
>                     -lgthread-2.0
>                     -lglib-2.0
>                     installiert nach /usr/local/lib/R/library/rggobi/libs
>                     ** R
>                     ** data
>                     ** moving datasets to lazyload DB
>                     ** demo
>                     ** preparing package for lazy loading
>                     ------------------------------------------------------
>
>                     At this point the install process is hanging, R
>                     utilises no more CPU
>                     time. Same with package RGtk2.
>
>                     Is this a known error? Please let me know if I can
>                     give more
>                     information or try something different.
>
>
>                 Well, those are exactly the two packages using Gtk+.
>
>                 There is no known general problem, and as you could have
>                 checked from
>                 the CRAN check pages, those packages install without
>                 problems on several
>                 platforms. (Not Solaris, where ggobi does not install
>                 and RGtk2 requires
>                 gcc, and not x64 Windows where both need to be patched.)
>
>                 So it does look very like there is a problem with
>                 loading against the
>                 Gtk+ system libraries on your system.
>
>
>             I think you are right. With previous versions of R (until
>             R-2.10.x) I
>             did not have this hanging when loading RGtk2 ... And I am
>             pretty sure
>             that I have no problems with gtk2 outside of R on my FreeBSD
>             system.
>
>             In the meantime I found out that the reported loading error
>             of rggobi
>             is a loading error of RGtk2, which fails (hangs). So there
>             remains
>             only a loading error with RGtk2. (Because of that I changed
>             the subject.)
>
>             After building/installing RGtk2, there are the following
>             messages:
>
>             ------------------------------------------------------
>             [..SNIP..]
>             gcc -std=gnu99 -shared -L/usr/local/lib -o RGtk2.so
>             RGtkDataFrame.o
>             Rgtk.o atkAccessors.o atkClasses.o atkConversion.o atkFuncs.o
>             atkManuals.o atkUserFuncs.o cairo-enums.o cairoAccessors.o
>             cairoConversion.o cairoFuncs.o cairoManuals.o cairoUserFuncs.o
>             classes.o conversion.o eventLoop.o gdkAccessors.o gdkClasses.o
>             gdkConversion.o gdkFuncs.o gdkManuals.o gdkUserFuncs.o glib.o
>             gobject.o gtkAccessors.o gtkClasses.o gtkConversion.o gtkFuncs.o
>             gtkManuals.o gtkUserFuncs.o libgladeAccessors.o libgladeFuncs.o
>             libgladeManuals.o libgladeUserFuncs.o pangoAccessors.o
>             pangoClasses.o
>             pangoConversion.o pangoFuncs.o pangoManuals.o
>             pangoUserFuncs.o utils.o
>             zcompat.o -pthread -L/usr/local/lib -lglade-2.0
>             -lgtk-x11-2.0 -lxml2
>             -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXext
>             -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite
>             -lXdamage
>             -lpangoft2-1.0 -lgio-2.0 -lXfixes -lcairo -lX11 -lpango-1.0 -lm
>             -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0
>             -lgthread-2.0
>             -lglib-2.0 -pthread -L/usr/local/lib -lgthread-2.0 -lglib-2.0
>             installiert nach /usr/local/lib/R/library/RGtk2/libs
>             ** R
>             ** demo
>             ** inst
>             ** preparing package for lazy loading
>             ** help
>             *** installing help indices
>             ** building package indices ...
>             ** testing if installed package can be loaded [..hanging
>             from here..]
>             ------------------------------------------------------
>
>             Is there a chance to find out what is wrong with loading
>             RGtk2 on my
>             system? Unfortunately I have almost no experience with real
>             debugging
>             methods on R. But of course I am willing to help and try out ...



[Rd] [R] R-2.12.0 hangs while loading RGtk2 on FreeBSD
Rainer Hurling