[Rcpp-devel] Conflict between RInside and OpenCV

Xavi de Blas xaviblas at gmail.com
Fri Apr 23 15:46:33 CEST 2010


Hello

I'm trying to call R from my C++ OpenCV software and I have problems at runtime.

This is rinside_sample6.cpp adapted:

-----
#include <RInside.h>
#include "opencv/cv.h"

int main(int argc, char **argv) {
        CvFont font = cvFont( 1 );  //This breaks all

        try {
                RInside R(argc, argv);
                R["txt"] = "Hello, world!\n";
                R.parseEvalQ("cat(txt)");

        } catch(std::exception& ex) {
                std::cerr << "Exception caught: " << ex.what() << std::endl;
        } catch(...) {
                std::cerr << "Unknown exception caught" << std::endl;
        }

        exit(0);
}
-----

Compiled like this:

g++ -I/usr/local/include/opencv -I/usr/share/R/include
-I/usr/local/lib/R/site-library/Rcpp/lib
-I/usr/local/lib/R/site-library/RInside/lib -g -O2 -Wall  -s
rinside_sample6.cpp  -L/usr/lib/R/lib -lR -lblas -llapack
-L/usr/local/lib/R/site-library/Rcpp/lib -lRcpp
-Wl,-rpath,/usr/local/lib/R/site-library/Rcpp/lib
-L/usr/local/lib/R/site-library/RInside/lib -lRInside
-Wl,-rpath,/usr/local/lib/R/site-library/RInside/lib -L/usr/local/lib
-lhighgui -Wl,-rpath,/usr/local/lib -o rinside_sample6

Compilation works, but on execution don't:

$ ./rinside_sample6
Error in readRDS(mapfile) : unknown input format
Error: could not find function "attach"
Exception caught: not found : .AutoloadEnv

Without the try {} catch{}, message is:
$ ./rinside_sample6
Error in readRDS(mapfile) : unknown input format
Error: could not find function "attach"
terminate called after throwing an instance of 'Rcpp::Environment::not_found'
  what():  not found : .AutoloadEnv
Aborted


But if this line is removed:

CvFont font = cvFont( 1 );

Compilation works, and execution also:

xavier at corall:~/Desktop$ ./rinside_sample6
Hello, world!

Installed packages:
---------------------------
Rcpp: 0.7.12
RInside: 0.2.2
r-base                                         2.10.1-2karmic0
r-base-core                                    2.10.1-2karmic0
r-base-dev                                     2.10.1-2karmic0
r-base-html                                    2.10.1-2karmic0
$ uname -a
Linux corall 2.6.33-020633-generic #020633

My OpenCV installation seems to be 2.0.0


Any idea? Thanks in advance!


More information about the Rcpp-devel mailing list