Re: [Rd] Require of gWidgetsRGtk2 fails: RGtk2.dll can't be found, but it's there

From: Tony Plate <tplate_at_acm.org>
Date: Sun, 12 Jun 2011 10:57:33 -0400

I also had frustrations trying to use libary RGtk2 under Windows XP.

I kept getting the message

   "unable to load shared object C:\R\site-library\RGtk2\libs\i386\RGtk2.dll" even though it was on my path.

Uninstalling and reinstalling various versions of GTK2, both through R and outside R, many times, including rebooting Windows, did not help.

With the help of some comments on R-help (Neil Rice, Mar 7, 2011), I found that there was another conflicting version of zlib1.dll in a directory on my PATH. Removing that directory from the path (inside R) fixed the problem and I am able to run RGtk2 now.

Here's an R expression to look for copies of the various DLLs that GTK2 uses (change "c:/GTK2-Runtime/bin/" to be appropriate for your system):

 > for (dll in list.files("c:/GTK2-Runtime/bin/", pattern="*.dll$")) print(with(list(x=file.path(strsplit(Sys.getenv("PATH"), ";")[[1]], dll)), x[file.exists(x)]))
[1] "C:\\GTK2-Runtime\\bin/freetype6.dll"
[1] "C:\\GTK2-Runtime\\bin/intl.dll"
[1] "C:\\GTK2-Runtime\\bin/libatk-1.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libcairo-2.dll"
[1] "C:\\GTK2-Runtime\\bin/libcairo-gobject-2.dll"
[1] "C:\\GTK2-Runtime\\bin/libcairo-script-interpreter-2.dll"
[1] "C:\\GTK2-Runtime\\bin/libexpat-1.dll"
[1] "C:\\GTK2-Runtime\\bin/libfontconfig-1.dll"
[1] "C:\\GTK2-Runtime\\bin/libgailutil-18.dll"
[1] "C:\\GTK2-Runtime\\bin/libgdk-win32-2.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libgdk_pixbuf-2.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libgio-2.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libglib-2.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libgmodule-2.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libgobject-2.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libgthread-2.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libgtk-win32-2.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libpango-1.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libpangocairo-1.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libpangoft2-1.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libpangowin32-1.0-0.dll"
[1] "C:\\GTK2-Runtime\\bin/libpng14-14.dll"
[1] "C:\\GTK2-Runtime\\bin/zlib1.dll"

 >

If there are any lines beginning with [2] in the output, there are multiple versions of DLLs and these are potential problems (check that either the DLLs are the same version, or that the GTK2 version is ahead on the path).

Note that is is not sufficient that the GTK2 library is on the path -- it has to be ahead of other path components that have conflicting DLLs.

On 6/11/2011 8:59 PM, Michael Lawrence wrote:

> I'm working on a mechanism that will download GTK+ (the official zip files)
> into a predetermined location and put that location in front of the other
> paths at load time.  Hopefully this will resolve these continuing issues.
>
> Michael
>
> On Fri, Jun 10, 2011 at 6:07 AM, Janko Thyson<
> janko.thyson.rstuff_at_googlemail.com>  wrote:
>
>> Okay, at least some positive result today (language issue ;-))
>>
>> Thanks for trying. Seems like GTK2 and me are not meant to be ...
>>
>> Regards,
>> Janko
>>
>>
>> On 10.06.2011 14:36, Prof Brian Ripley wrote:
>>
>>> It is a Microsoft error message, so your Windows is translating it, not R.
>>>   It does say 'The specified module' in English Windows, without saying who
>>> specified the module (but it does often produce a popup naming the module).
>>>
>>> I've no better idea what your problem is: the @ReadMe instructions work
>>> for me, Uwe on winbuilder and in our teaching lab (and the advice in RGtk2
>>> does not).
>>>
>>> On Fri, 10 Jun 2011, Janko Thyson wrote:
>>>
>>>   On 10.06.2011 13:18, Prof Brian Ripley wrote:
>>>>       On Fri, 10 Jun 2011, Janko Thyson wrote:
>>>>
>>>>             Dear list,
>>>>
>>>>             I've been trying to get gWidgets/gWidgetsRGtk2 to run
>>>>             every other month for a while, but somehow I simply can't
>>>>             figure out what's going wrong.
>>>>
>>>>
>>>>       Your subject line indicates your confusion.  It does not say
>>>>       RGtk2.dll cannot be found (at least, the English version of the
>>>>       message does not say so).
>>>>
>>>>       What it means is that RGtk2.dll or one of the DLLs it depends on
>>>>       cannot be found.  See the instructions at
>>>>       http://cran.r-project.org/bin/windows/contrib/2.13/@ReadMe
>>>>
>>>>       It is Microsoft's error message, not ours.
>>>>
>>>>
>>>> Thanks for your answer. I followed the advice in the readme file and
>>>> installed
>>>>
>>>>
>>>> http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.22/gtk+-bundle_2.22.0-201010
>>>> 16_win32.zip
>>>> Previously I made sure that all other previously installed GTK+ runtime
>>>> environments were removed and that the windows PATH reflects the correct
>>>> path to
>>>> the "new" GTK+ files. I also made sure I started a new R session before
>>>> trying
>>>> 'require(gWidgetsRGtk2)' again. Yet, the same error. More precisely, a
>>>> dialog box
>>>> pops up asking me to install GTK+ or not. That's what's confusing me as
>>>> well: the
>>>> package's recommendation with respect to the version of an GTK+ runtime
>>>> environment is somewhat out-of-sync with the advice in the readme, even
>>>> though it
>>>> the version is fairly recent (2011-04-30)
>>>>
>>>> Sorry for the german part in the error message, but I wasn't able to get
>>>> it all
>>>> to English (tried language = en in Rconsole file, setting up a
>>>> Renviron.site with
>>>> LANGUAGE=en, setting Sys.setenv("LANGUAGE"="en") and
>>>> Sys.setenv("LC_ALL"="en") to
>>>> no avail; not a good R day today ;-)). I freely translated it for you:
>>>>
>>>> Loading required package: gWidgetsRGtk2
>>>> Loading required package: gWidgets
>>>> Error in inDL(x, as.logical(local), as.logical(now), ...) :
>>>>   unable to load shared object
>>>> 'R:/Apps/R/R-2.13.0/library/RGtk2/libs/i386/RGtk2.dll':
>>>>   LoadLibrary failure:  the specified module could not be found.
>>>>
>>>> Failed to load RGtk2 dynamic library, attempting to install it.
>>>> Learn more about GTK+ at http://www.gtk.org
>>>> If the package still does not load, please ensure that GTK+ is installed
>>>> and that
>>>> it is on your PATH environment variable
>>>> IN ANY CASE, RESTART R BEFORE TRYING TO LOAD THE PACKAGE AGAIN
>>>> Error : .onAttach failed in attachNamespace() for 'gWidgetsRGtk2',
>>>> details:
>>>>   call: .Call(name, ..., PACKAGE = PACKAGE)
>>>>   error: C symbol name "S_gtk_icon_factory_new" not in DLL for package
>>>> "RGtk2"
>>>>
>>>> Do you have any other idea what I might be doing wrong?
>>>>
>>>> Regards,
>>>> Janko
>>>>
>>>>
>>>>
>>>>             I tried several distributions of the GTK runtime
>>>>             environment for Windows
>>>>             (
>>>> http://downloads.sourceforge.net/gladewin32/gtk-2.12.9-win32-1.exe
>>>>             as described in the package's vignette,
>>>> http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.22/gtk+-bundle_2.22.1-20101
>>>>             227_win32.zip)
>>>>
>>>>             I also included GTK in my Windows PATH.
>>>>
>>>>             Yet, when I run 'require(gWidgetsRGtk2)', R complains
>>>>             that the RGtk2.dll can't be found/loaded (see below). But
>>>>             this file definitely exists. I'm running R-2.13.0 from a
>>>>             USB Device but made sure that args 'destdir' and 'lib'
>>>>             are set propperly in 'install.packages'.
>>>>
>>>>             Loading required package: gWidgetsRGtk2
>>>>             Loading required package: gWidgets
>>>>             Error in inDL(x, as.logical(local), as.logical(now), ...)
>>>>             :
>>>>              unable to load shared object
>>>>             'R:/Apps/R/R-2.13.0/library/RGtk2/libs/i386/RGtk2.dll':
>>>>              LoadLibrary failure:  Das angegebene Modul wurde nicht
>>>>             gefunden.
>>>>
>>>>             Failed to load RGtk2 dynamic library, attempting to
>>>>             install it.
>>>>             Learn more about GTK+ at http://www.gtk.org
>>>>             If the package still does not load, please ensure that
>>>>             GTK+ is installed and that it is on your PATH environment
>>>>             variable
>>>>             IN ANY CASE, RESTART R BEFORE TRYING TO LOAD THE PACKAGE
>>>>             AGAIN
>>>>             Error : .onAttach failed in attachNamespace() for
>>>>             'gWidgetsRGtk2', details:
>>>>              call: .Call(name, ..., PACKAGE = PACKAGE)
>>>>              error: C symbol name "S_gtk_icon_factory_new" not in DLL
>>>>             for package "RGtk2"
>>>>
>>>>             Best regards,
>>>>             Janko
>>>>
>>>>             R version 2.13.0 (2011-04-13)
>>>>             Platform: i386-pc-mingw32/i386 (32-bit)
>>>>
>>>>             locale:
>>>>             [1] LC_COLLATE=German_Germany.1252
>>>>             LC_CTYPE=German_Germany.1252
>>>>             [3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C
>>>>             [5] LC_TIME=German_Germany.1252
>>>>
>>>>             attached base packages:
>>>>             [1] stats     graphics  grDevices utils     datasets
>>>>             methods   base
>>>>
>>>>             other attached packages:
>>>>             [1] gWidgets_0.0-44
>>>>
>>>>             loaded via a namespace (and not attached):
>>>>             [1] gWidgetsRGtk2_0.0-74 RGtk2_2.20.12
>>>>             tools_2.13.0
>>>>
>>>>
>>>>             ______________________________________________
>>>>             R-devel_at_r-project.org mailing list
>>>>             https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> _________________________________________________________________________________
>>>>
>>>>
>>>> Janko Thyson
>>>> janko.thyson_at_googlemail.com
>>>>
>>>> Jesuitenstraße 3
>>>> D-85049 Ingolstadt
>>>>
>>>> Mobile: +49 (0)176 83294257
>>>>
>>>> This e-mail and any attachment is for authorized use by the intended
>>>> recipient(s) only. It may contain proprietary material, confidential
>>>> information and/or be subject to legal privilege. It should not be
>>>> copied, disclosed to, retained or used by any other party.
>>>> If you are not an intended recipient then please promptly delete this
>>>> e-mail and any attachment and all copies and inform the sender.
>>>>
>>>>
>>>>
>>>>
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
> 	[[alternative HTML version deleted]]
>
>
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel


	[[alternative HTML version deleted]]



______________________________________________

R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Sun 12 Jun 2011 - 15:03:01 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 14 Jun 2011 - 23:30:18 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive