From murdoch at stats.uwo.ca  Fri Feb 26 15:02:28 2010
From: murdoch at stats.uwo.ca (Duncan Murdoch)
Date: Fri, 26 Feb 2010 09:02:28 -0500
Subject: [Rd] Error on Windows build: "unable to re-encode"
In-Reply-To: <FA1618C2-22BD-437F-BE7E-196725C8AD6C@gmx.net>
References: <FA1618C2-22BD-437F-BE7E-196725C8AD6C@gmx.net>
Message-ID: <4B87D474.5060207@stats.uwo.ca>

On 26/02/2010 8:52 AM, Felix Sch?nbrodt wrote:
> Dear developers,
>
> while our package TripleR (hosted on R-Forge) builds well on Mac and Linux, the Windows build shows following error (http://r-forge.r-project.org/R/?group_id=418&log=build_win32&pkg=TripleR&flavor=patched):
>
> Fri Feb 26 00:53:38 2010: Building binary for package TripleR (SVN revision NA)
> using R version 2.10.1 Patched (2010-02-24 r51172) ...
>
> * installing to library 'R:/R/lib/CRAN/2.10'
> * installing *source* package 'TripleR' ...
>
>   Using auto-selected zip option '--use-zip-data'
>
> ** R
> Error : unable to re-encode 'RR.r'
>
>
>
> I found the piece of code producing the error in the function .install_package_code_files in the file src/library/tools/R/admin.R:
>     ## assume that if locale is 'C' we can used 8-bit encodings unchanged.
>     if(need_enc && !(Sys.getlocale("LC_CTYPE") %in% c("C", "POSIX"))) {
>         con <- file(outFile, "a")
>         on.exit(close(con))  # Windows does not like files left open
>         for(f in codeFiles) {
>             tmp <- iconv(readLines(f, warn = FALSE), from = enc, to = "")
>             if(any(is.na(tmp)))
>                stop(gettextf("unable to re-encode '%s'", basename(f)),
>                     domain = NA, call. = FALSE)
>
>
> However, I don't really know what that means.
> I already tried to encode the source file both in UTF-8 and in latin-1, but neither worked.
>
>
> Did anyone encounter the same problem / any suggestion?


I believe you shouldn't have a problem if you declare the default 
encoding for the whole package in the DESCRIPTION file.  You'll need to 
be consistent about using that encoding in all of your .R files.  (.Rd 
files can each have their own encoding, declared within them.)  However, 
it's possible there are bugs here: since most R code is pure ASCII, the 
encoding issues are not tested a lot.

If declaring the encoding in DESCRIPTION doesn't solve the problem, I'd 
be happy to take a look at the package.

Duncan Murdoch



[Rd] Error on Windows build: "unable to re-encode"
Duncan Murdoch