[Rcpp-devel] deprecated functionality in Armadillo 2.3.x / 2.4.x and onwards

Dirk Eddelbuettel edd at debian.org
Thu Nov 17 04:54:21 CET 2011

Hi Conrad,

Thanks so much for proactively posting here!  [ And a fresh question below,
please read on. ]

On 17 November 2011 at 13:27, c s wrote:
| Hi everyone,
| A beta release (2.3.91) of the updated version of Armadillo is available:
| http://arma.sourceforge.net/download.html

It has been in SVN for two days, and builds since yesterday thanks to
Romain.  However, a single unit test fails:

    ComplexVector xx(x) ;
    arma::cx_mat m = forward( exp( xx ) ) ;

    return wrap( m ) ;

Passing a simple ComplexVector of ours on create a 'boom'.  Hopefully not a
biggy to fix.
| The following functionality is deprecated in the 2.x series and will
| be removed in a future major version (ie. 3.x series):
| Support for tying writeable auxiliary (external) memory to _fixed
| size_ matrices is deprecated. Instead, you can use standard matrices
| with writeable auxiliary memory, or initialise fixed size matrices by
| copying the memory.  Using auxiliary memory with standard matrices is
| unaffected.
| The .n_elem_slice member variable of the Cube class is deprecated. You
| can get equivalent information by multiplying .n_rows with .n_cols.
| Member functions .print_trans() and .raw_print_trans() are deprecated.
| Instead, you can chain .t() and .print() to achieve a similar result:
| .t().print()
| The .t() and .st() member functions have been added in version 2.3.91.
| They are shorter and more flexibile forms of transposes:
| http://arma.sourceforge.net/docs.html#t_st_members

Cool, thanks.  While I have your attention:  the R and the CRAN
infrastructure now also test for use of std::cout in linked-in libraries (as
R has its own i/o buffering; one shall not mix with iostreams):
edd at max:~/svn/rcpp/pkg$ R CMD check RcppArmadillo
* using log directory ‘/home/edd/svn/rcpp/pkg/RcppArmadillo.Rcheck’
* using R version 2.14.0 (2011-10-31)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file ‘RcppArmadillo/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘RcppArmadillo’ version ‘’
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking whether package ‘RcppArmadillo’ can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking for unstated dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking line endings in C/C++/Fortran sources/headers ... OK
* checking line endings in Makefiles ... OK
* checking for portable compilation flags in Makevars ... OK
* checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
* checking compiled code ... NOTE
File ‘/home/edd/svn/rcpp/pkg/RcppArmadillo.Rcheck/RcppArmadillo/libs/RcppArmadillo.so’:
  Found ‘_ZSt4cout’, possibly from ‘std::cout’ (C++)

Compiled code should not call functions which might terminate R nor write to stdout/stderr instead of to the console.  The detected
symbols are linked into the code but might come from libraries and not actually be called.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual.

A quick grep shows that there isn't that much code using it.  Would you be up
for defining a new #define (which defaults to TRUE for you but FALSE for
RcppArmadillo) so that we could build without?  I'd be happy to prepare a
patch for you.  If not, we'll just live with the warning as I'd rather not
constantly patch you code for each new release.

Cheers,  Dirk

| Conrad
| --
| Dr Conrad Sanderson - Sr Research Scientist - NICTA - http://arma.sf.net/cs/
| _______________________________________________
| Rcpp-devel mailing list
| Rcpp-devel at lists.r-forge.r-project.org
| https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

"Outside of a dog, a book is a man's best friend. Inside of a dog, it is too
dark to read." -- Groucho Marx

More information about the Rcpp-devel mailing list