[R] R CMD SHLIB changes function name when compiling
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Oct 8 11:36:53 CEST 2010
On Fri, 8 Oct 2010, Steve Pederson wrote:
> Hi,
>
> I'm trying to write a function in C for implementation with .Call. When
> compiling using R CMD SHLIB characters seem to be added to the function name.
>
> Here's the complete C code from the file summariseMCMC.c:
>
> #include<R.h>
> #include<Rdefines.h>
> #include<Rinternals.h>
>
> void summariseMCMC(SEXP data) {
>
> PROTECT(data=AS_NUMERIC(data));
> UNPROTECT(1);
>
> }
>
> Then after compiling (R CMD SHLIB summariseMCMC.c) & loading the .dll
>
> dyn.load("C:/R/R-2.11.1/bin/summariseMCMC.dll")
> is.loaded("_Z13summariseMCMCP7SEXPREC")
> [1] TRUE
> is.loaded("summariseMCMC")
> [1] FALSE
>
> Just wondering if anyone had any pointers for getting rid of this, or have I
> missed something outrageously obvious?
You have. This was not done by'R CMD SHLIB', but by a C++ compiler --
it is called 'name mangling'. Unfortunately you didn't show us the
output from that command, when the cause would probably have been
'outrageously obvious'.
The fix is to make sure you use a C compiler to compile C code, and
we've almost no idea why that is not being done on your system.
But as a guess, check that the environment variable CC is not set.
>
> Thanks,
>
> Steve
>
>
> sessionInfo()
> R version 2.11.1 (2010-05-31)
> i386-pc-mingw32
>
> locale:
> [1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
> [3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
> [5] LC_TIME=English_Australia.1252
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] limma_3.4.4 Biobase_2.8.0 aroma.affymetrix_1.7.0
> [4] aroma.apd_0.1.7 affxparser_1.20.0 R.huge_0.2.0
> [7] aroma.core_1.7.0 aroma.light_1.16.0 matrixStats_0.2.1
> [10] R.rsp_0.3.6 R.cache_0.3.0 R.filesets_0.8.3
> [13] digest_0.4.2 R.utils_1.4.4 R.oo_1.7.3
> [16] R.methodsS3_1.2.0
>
> loaded via a namespace (and not attached):
> [1] tools_2.11.1
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list