[Rd] Rcmd SHLIB error

Duncan Murdoch murdoch.duncan at gmail.com
Sun Dec 19 15:07:02 CET 2010


On 19/12/2010 7:01 AM, Gabor Grothendieck wrote:
> On Sun, Dec 19, 2010 at 6:39 AM, Duncan Murdoch
> <murdoch.duncan at gmail.com>  wrote:
>> On 19/12/2010 6:06 AM, Gabor Grothendieck wrote:
>>>
>>> On Sat, Dec 18, 2010 at 8:23 PM, Dominick Samperi<djsamperi at gmail.com>
>>>   wrote:
>>>>
>>>>
>>>> On Sat, Dec 18, 2010 at 5:24 PM, Gabor Grothendieck
>>>> <ggrothendieck at gmail.com>    wrote:
>>>>>
>>>>> I am getting this error message when I try to run Rcmd SHLIB myprog.c.
>>>>>   There appears to be a missing / between etc and i386 in the path.  I
>>>>> am on Windows Vista and am using R version 2.12.1 Patched (2010-12-16
>>>>> r53864) and just downloaded Rtools 2.12 today.   Is this a bug in R?
>>>>> How can I resolve this?
>>>>
>>>> This is due to new behavior in CYGWIN (the basis for Rtools). The
>>>> new CYGWIN does not like non-standard paths that have C: in them.
>>>> Some CYGWIN programs will not work when fed file names using
>>>> this syntax, but normally this is just a warning. The warning can be
>>>> suppressed by using the Control Panel to set CYGWIN=nodosfilewarning.
>>>> Another solution is to use POSIX equivalent paths of the form
>>>> /cydrive/c/PROG..., but this would require more extensive changes
>>>> to build scripts, etc.
>>>>
>>>> There is another change that causes Rtools tar to choke in some
>>>> circumstances under Windows because it tries to change ownership
>>>> of the files extracted when it shouldn't. These error
>>>> messags can be suppressed by using the Control Panel to set
>>>> TAR_OPTIONS=--no-same-owner.
>>>>
>>>
>>> I am still wondering what to do about this?  I have created a
>>> directory called C:\PROGRA~1\R\R-212~1.X\etci386 and have copied
>>> Makeconf into it.  That lets me use Rcmd SHLIB but its quite an ugly
>>> workaround and there must be some better resolution than that.  Also I
>>> am wondering if this same problem will crop up elsewhere.
>>>
>>
>> You could try running within Cygwin, as I do, on the theory that what works
>> for me might work for you.  I do use the "nodosfilewarning" setting as
>> Dominick mentioned.
>>
>> However, I will say that my Windows build system is much less reliable than
>> it used to be.  I don't know the cause:  I started 64 bit builds on Windows
>> 7 at around the same time as I upgraded Cygwin, so it could be any of those
>> causes.  I'm tending to believe it's a Cygwin problem or a Cygwin-Win7
>> incompatibility, but I haven't had time to work out a reliable system.
>>   (Symptoms I see are that very few overnight builds are succeeding; almost
>> all the ones you see on CRAN/bin/windows/base have required manual restarts
>> after they've failed partway through.)
>>
>> Unfortunately, I am not going to have the time to diagnose or fix this in
>> the next couple of months.  If you have spare time, you might want to try
>> older versions of the Rtools (perhaps mixing new compilers with old
>> Rtools/bin and Cygwin DLLs).
>>
>> Duncan Murdoch
>>
>
> Where in the sources is the C:\PROGRA~1\R\R-212~1.X\etci386 [sic] path set?

I don't know.  Possibilities include src/gnuwin32/fixed/Makefile line 31 
(where a bad R_ARCH would do it).  Do you have R_ARCH set as an 
environment variable or on the command line when you call make? I think 
the latter would override the setting in MkRules, I'm not sure about the 
former.

Duncan Murdoch



More information about the R-devel mailing list