In fact I mightily misspoke (apologies).  

The Rcpp list is of course not meant to be exported out of the Rcpp code but to 
be used inside another Rcpp function.

But the code fails with a similar message:

Error in 
dyn.load("/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e77d6b9433/sourceCpp_221.so")
 : 
  unable to load shared object 
'/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e77d6b9433/sourceCpp_221.so':
  
dlopen(/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e77d6b9433/sourceCpp_221.so,
 6): Symbol not found: 
__ZN4Rcpp4wrapINSt3__124uniform_int_distributionIiEEEEP7SEXPRECRKT_
  Referenced from: 
/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e77d6b9433/sourceCpp_221.so
  Expected in: flat namespace
 in 
/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e77d6b9433/sourceCpp_221.so

 

 

-----Original Message-----
From: aakremena <aakrem...@aol.com>
To: rcpp-devel <rcpp-devel@lists.r-forge.r-project.org>
Sent: Tue, Apr 26, 2016 1:45 pm
Subject: List of uniform_int_distribution objects


Hi everybody,

   1. I am trying to create an Rcpp list, each of whose elements contain an 
uniform_int_distribution object.

   2. My understanding is that since an uniform_int_distribution object is a 
non-SEXP one, I need to create a specialization of wrap() first.

   3. To this end, I am using the following (sample) piece of code:

#include <RcppCommon.h>
#include <random>
namespace Rcpp {
  template <> SEXP wrap(const std::uniform_int_distribution<int> &d);
} 
#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
Rcpp::List List_of_Distributions() {
  Rcpp::List DISTR(2);
  std::uniform_int_distribution<int> dist_1(0, 5);  
std::uniform_int_distribution<int> dist_2(0, 6);
  DISTR[0] = Rcpp::wrap(dist_1);  DISTR[1] = Rcpp::wrap(dist_2);

  return DISTR;
}

/*** R
List_of_Distributions()
*/

   4. The compilation fails with a message

Error in 
dyn.load("/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e75ec42b87/sourceCpp_220.so")
 : 
  unable to load shared object 
'/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e75ec42b87/sourceCpp_220.so':
  
dlopen(/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e75ec42b87/sourceCpp_220.so,
 6): Symbol not found: 
__ZN4Rcpp4wrapINSt3__124uniform_int_distributionIiEEEEP7SEXPRECRKT_
  Referenced from: 
/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e75ec42b87/sourceCpp_220.so
  Expected in: flat namespace
 in 
/var/folders/12/bqytpkx93w97r3s3_h9q9k_00000gn/T//Rtmpm2tVkx/sourcecpp_f9e75ec42b87/sourceCpp_220.so

   5. I am working on OS X Mavericks and use clang-omp compiler

Can somebody possibly direct me to what I may be doing wrong here.  Apologies 
if the question seems too basic to you.

Thank you in advance.

Anguel





_______________________________________________
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

Reply via email to