[Rd] R CMD SHLIB in Windows XP - No output at all

Duncan Murdoch murdoch.duncan at gmail.com
Wed Feb 15 16:44:32 CET 2012

On 13/02/2012 7:09 PM, Lorenzo wrote:
> Hello all,
> I'm trying hard to make R CMD SHLIB work on Windows XP (32-bit) - please
> note that I don't have the admin rights on the computer.
> In terms of setup, I have followed the procedure :
> =>  installed Rtools 2.14
> =>  changed my path :
> PATH=C:\Trading\R\RTools\bin;C:\Trading\R\RTools\MinGW\bin;C:\Trading\R\R-2.14.1\bin\i386;C:\WINDOWS\system32;%OTHER_PATHS%
> But when I try R CMD SHLIB *.* I have litterally nothing, no output at all.
> (and R CMD INSTALL debug tells me, of course that the operation failed while
> calling R CMD SHLIB)
> I tried the command R CMD SHLIB -n, which gives me :
> make -f "C:/Trading/R/R-2.14.1/etc/i386/Makeconf" -f
> "C:/Trading/R/R-2.14.1/share/make/winshlib.mk" SHLIB= OBJECTS=
> So I had a closer look at these two files, and found some strange things in
> Makeconf, for example a variable LOCAL_SOFT with a d: path which has nothing
> to do with my configuration :
> LOCAL_SOFT = d:/RCompile/CRANpkg/extralibs/local

That's a path on the machine which builds the R binary distributions.  
It shouldn't have leaked out, but it should be harmless.

I think the problem might be with the "*.*".  On a Unix system, the 
shell expands wildcards, but on Windows, the individual commands are 
supposed to do it.  But our commands generally follow the Unix 
conventions, so perhaps nobody is expanding that, and nothing is being 
requested.  (When I try it in R-patched, it works.  But I'm not using 
that version of Rtools, and you don't say what version of R you're using.)

If you use a bash shell (e.g. from Cygwin) then it will follow the Unix 
convention, and that will probably work.  That's what I normally do.

Alternatively, you can just list the files that you want to compile.  If 
it's a long list, I think there are Windows ways to put the whole list 
into a shell variable and put the shell variable on that line, but I 
forget what they are.  I would certainly try that for debugging purposes.

Duncan Murdoch

> Ok, the thing is, my Makeconf is strange, but when I actually use the
> """ make -f "C:/Trading/R/R-2.14.1/etc/i386/Makeconf" -f
> "C:/Trading/R/R-2.14.1/share/make/winshlib.mk" SHLIB= OBJECTS=  """
> directly in the command prompt, it works more or less.
> I managed to build a simple dll based on C code (convolve2.dll, from the
> example), but couldn't build any dll based on c++ code.
> Is my SHLIB properly set up ? Why do I have a strange Makeconf ? Should I
> try to find a proper version of the file ? or reinstall R ?
> Does anyone have any idea how to fix that ?
> Been trying to fix it for a long time now !
> Thanks in advance !
> Lorenzo
> --
> View this message in context: http://r.789695.n4.nabble.com/R-CMD-SHLIB-in-Windows-XP-No-output-at-all-tp4385797p4385797.html
> Sent from the R devel mailing list archive at Nabble.com.
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

More information about the R-devel mailing list