[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Help (Was: Bug#699260: r-cran-genabel: FTBFS: error: subscript out of bounds)



Hi,

because I'm lacking the relevant R knowledge (and I also fail in finding
some relevant R/CRAN packaging team inside Debian) I'm writing to Debian
Mentors and main R packages maintainer.  I guess with some basic R knowledge
the problem below is easy to solve.  I checked the source of r-cran-genabel
package and found the problematic function only in one single file:

../r-cran-genabel-1.7-0$ grep -Rl "stringSplit" 
R/checkPackageVersionOnCRAN.R

When reading its only quite short function

checkPackageVersionOnCRAN <- function(packageName,baseUrlCRAN="http://cran.r-project.org/web/packages/";, timeout = 10)
{
        # change default timout
        svtmo <- options("timeout")
        options("timeout"=timeout)
        # page to check is
        pageAddress <- paste(baseUrlCRAN,packageName,sep="/")
...
        # parse the page and get string starting with "Package source:"
        targetLine <- pageContent[grep("Package source:",pageContent)]
        # split the string at "Package_" and ".tar.gz"; the element before the last will contain the version
        splitPattern <- paste(packageName,"_|.tar.gz",sep="")
        stringSplit <- strsplit(targetLine,splitPattern)
        cranVersion <- stringSplit[[1]][length(stringSplit[[1]])-1]
        # return version
        return(cranVersion)
}

this heavily smells like the attempt to verify a web page while beeing
offline.  IMHO the proper fix for this would be to return for instance
the version of the Debian package or some other reasonable thing - but
in any case it should be avoided trying to split a non-existing string
or so.

Any hint for a reasonable patch?

Thanks for any help

        Andreas.


On Tue, Jan 29, 2013 at 04:16:45PM +0100, Lucas Nussbaum wrote:
> Source: r-cran-genabel
> Version: 1.7-0-1
> Severity: serious
> Tags: wheezy sid
> User: debian-qa@lists.debian.org
> Usertags: qa-ftbfs-20130129 qa-ftbfs
> Justification: FTBFS in wheezy on amd64
> 
> Hi,
> 
> During a rebuild of all packages in *wheezy*, your package failed to
> build on amd64.
> 
> Relevant part:
> > make[1]: Entering directory `/«PKGBUILDDIR»/src'
> > make[1]: Leaving directory `/«PKGBUILDDIR»/src'
> > installing to /«PKGBUILDDIR»/debian/r-cran-genabel/usr/lib/R/site-library/GenABEL/libs
> > ** R
> > ** data
> > ** demo
> > ** inst
> > ** preparing package for lazy loading
> > ** help
> > *** installing help indices
> > ** building package indices
> > ** installing vignettes
> > ** testing if installed package can be loaded
> > Error : .onLoad failed in loadNamespace() for 'GenABEL', details:
> >   call: stringSplit[[1]]
> >   error: subscript out of bounds
> > Error: loading failed
> > Execution halted
> > ERROR: loading failed
> > * removing '/«PKGBUILDDIR»/debian/r-cran-genabel/usr/lib/R/site-library/GenABEL'
> > make: *** [R_any_arch] Error 1
> 
> The full build log is available from:
>    http://people.debian.org/~lucas/logs/2013/01/29/r-cran-genabel_1.7-0-1_wheezy.log
> 
> A list of current common problems and possible solutions is available at 
> http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
> 
> About the archive rebuild: The rebuild was done on EC2 VM instances from
> Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
> failed build was retried once to eliminate random failures.
> 
> _______________________________________________
> Debian-med-packaging mailing list
> Debian-med-packaging@lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging
> 

-- 
http://fam-tille.de


Reply to: