On 31 July 2016 at 10:42, Dan Dillon wrote: | I am writing a package that makes heavy use of templates. Since all R packages | are compiled with the -g flag (for g++ and clang++ anyhow), this ends up
[ If and only if R itself had been configure with that flag during its build. And using that flag is a prescribed default for Debian (and hence Ubuntu) (as we, for just about every binary, very cleverly strip away debug symbol into a addon-package foo-dbg for each foo). ] | putting debugging symbols in the resulting library (.so). The problem is, that | the size of these symbols bloats the shared library to a ridiculous extent | (13.0MB with, 54K without). | | I am looking for a portable way to suppress the creation of debugging symbols | within the libraries. For gcc/clang it is simple: add -Wl,-S to your PKG_LIBS | variable, but this is not portable. Furthermore, since my package is really | just a set of headers to be used within Rcpp, any user of my package would need | to be able to easily specify to strip debugging symbols in any file that | includes my headers. | | My thoughts are these: | | 1) if a portable way of making sure debugging symbols are stripped from the | shared libraries is available, turn it into an Rcpp plugin (e.g. // | [[Rcpp::plugins(strip)]] | 2) conceive of a way to do it portably and expose it. 1) is pretty clever. We should do that. 2) seems pretty hard. I never found a way to override values already set in /etc/R/Makeconf (or whereever your R stores its Makeconf). That has been discussed before (on r-devel, as I recall) without a solution. | I'm looking for any advice or help with this issue. I'd say let's do the plugin. That is a good idea. It would be an equally good idea to dedicate a new DESCRIPTION field (and/or R CMD ... option) to this, and propose a patch to R Core to strip upon R CMD INSTALL. This is a more general issue, and it would useful to trim down all shared libraries as we don't generally call the debugger on them. Save those precious bytes! Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel