[R-pkg-devel] Submitting to CRAN a package depending on RGtk2

Lorenzo Busetto lbusett at gmail.com
Sat Oct 22 16:02:39 CEST 2016


After digging some more: the problem is related to installation of RGtk2,
and in particular on failing to load RGtk2.ddl . Looking at build logs, I
get this error (which is repeated N times until install crashes):

> Error in inDL(x, as.logical(local), as.logical(now), ...) :
> unable to load shared object
'C:/Users/LB_laptop/AppData/Local/Temp/RtmpO6FfXa/RLIBS_d981e3e76b6/RGtk2/libs/i386/RGtk2.dll':
> LoadLibrary failure:  The specified module could not be found.
>
> Warning: Failed to load RGtk2 dynamic library, attempting to install it.
> Please install GTK+ from
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.22/gtk+-bundle_2.22.1-20101227_win32.zip
> 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 in inDL(x, as.logical(local), as.logical(now), ...) :
> unable to load shared object
'C:/Users/LB_laptop/AppData/Local/Temp/RtmpO6FfXa/RLIBS_d981e3e76b6/RGtk2/libs/i386/RGtk2.dll':
> LoadLibrary failure:  The specified module could not be found.

The baffling thing is that I have this error if I do the check on my
machine or from github, while sending to CRAN with build_win succeds (see
log at the bottom). My understanding is that on CRAN testing machines GTK+
is already present/configured, so that the library doesn't need to be
installed/found ( However,  trying to install GTK+ beforehand and setting
the PATH variable as suggested in the error message doesn't change anything)

Looking at other packages with the same dependencies shows that this is  a
common issue: for example, package "fit4NM" installs correctly from CRAN,
but if I download it on my machine and check from RStudio,  R CMD check
fails in the same way.

A workaround I found looking at other packages and allows me to keep both
RStudio and build_win  working is to keep gWidgetsRGtk2 as a "Suggested"
package instead than as an Import, and ask users to install at first
"interactive" execution.

So, if I may ask, would you have any suggestions in this case ?

Lorenzo


------ build_win LOG follows () -------

* using log directory 'd:/RCompile/CRANguest/R-devel/MODIStsp.Rcheck'
* using R Under development (unstable) (2016-10-22 r71558)
* using platform: x86_64-w64-mingw32 (64-bit)
* using session charset: ISO8859-1
* checking for file 'MODIStsp/DESCRIPTION' ... OK
* checking extension type ... Package
* this is package 'MODIStsp' version '1.2.2'
* checking CRAN incoming feasibility ... NOTE
Maintainer: 'Lorenzo Busetto <busetto.l at irea.cnr.it>'

New submission

Possibly mis-spelled words in DESCRIPTION:
  HDF (14:27)
  MODIS (3:19, 10:84, 12:19, 14:21, 15:64, 20:64)
  Preprocessing (2:48)
  Reflectance (16:21)
  mosaicking (11:73)
  preprocessing (11:35)
  rasters (10:63)
  reflectance (16:103)
  reprojection (11:85)
  resize (12:9)

Found the following (possibly) invalid URLs:
  URL: http://cran.r-project.org
    From: README.md
    Status: 200
    Message: OK
    CRAN URL not in canonical form
  A canonical CRAN URL starts with https://CRAN.R-project.org/

The Date field is over a month old.
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... NOTE
Found the following hidden files and directories:
  .json
These were most likely included in error. See section 'Package
structure' in the 'Writing R Extensions' manual.

CRAN-pack does not know about
  .json
* checking for portable file names ... OK
* checking whether package 'MODIStsp' can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking 'build' directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... NOTE
Non-standard file/directory found at top level:
  'try_configure_'
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* loading checks for arch 'i386'
** checking whether the package can be loaded ... OK
** checking whether the package can be loaded with stated dependencies ... OK
** checking whether the package can be unloaded cleanly ... OK
** checking whether the namespace can be loaded with stated dependencies ... OK
** checking whether the namespace can be unloaded cleanly ... OK
** checking loading without being on the library search path ... OK
** checking use of S3 registration ... OK
* loading checks for arch 'x64'
** checking whether the package can be loaded ... OK
** checking whether the package can be loaded with stated dependencies ... OK
** checking whether the package can be unloaded cleanly ... OK
** checking whether the namespace can be loaded with stated dependencies ... OK
** checking whether the namespace can be unloaded cleanly ... OK
** checking loading without being on the library search path ... OK
** checking use of S3 registration ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd line widths ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking sizes of PDF files under 'inst/doc' ... WARNING
  'gs+qpdf' made some significant size reductions:
     compacted 'MODIStsp.pdf' from 690Kb to 366Kb
  consider running tools::compactPDF(gs_quality = "ebook") on these files
* checking installed files from 'inst/doc' ... OK
* checking files in 'vignettes' ... OK
* checking examples ...
** running examples for arch 'i386' ... [3s] OK
** running examples for arch 'x64' ... [3s] OK
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in 'inst/doc' ... OK
* checking re-building of vignette outputs ... [26s] OK
* checking PDF version of manual ... OK
* DONE
Status: 1 WARNING, 3 NOTEs


On 21 October 2016 at 02:22, Dirk Eddelbuettel <edd at debian.org> wrote:

>
> On 20 October 2016 at 18:59, Duncan Murdoch wrote:
> | No, it wouldn't be acceptable on CRAN.  You need to declare your
> | dependencies.
> |
> | It sounds as though there's a bug somewhere, in R, RStudio,
> | gWidgetRGtk2, or Windows.  You're in the unenviable position of having
> | to find and fix it.  (CRAN won't care if this only affects RStudio, and
> | you might get away with an install that doesn't support Windows.)
>
> I usually suspect threading, which is tricky / impossible to fix.  RStudio
> needs it (as it is a GUI), and so does RGtk2.  IIRC we have had similar
> issues with tcltk as well as with some of task parallelizers.
>
> Dirk
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list