Thank you Dirk for this answer. The source code of Fasttext is already embedded in the package (it is the content of ../inst/include/ and is linked with PKG_CPPFLAGS + include of headers). So no issue with user having it or needing to link with PKG_LIBS.
I have checked the compilation with this Makevars: CXX_STD = CXX11 ROOT_INCLUDE = ../inst/include/ PKG_CPPFLAGS = -I$(ROOT_INCLUDE) PKG_LIBS = -L$(ROOT_INCLUDE) And I still get the same error. Is there anything else to check? The error seems related to a shared object, do I have something special to do? I am not even sure to understand the error message, why it can't load the object if it has compiled? Kind regards, Michaël On Wed, Aug 2, 2017 at 8:32 PM, Dirk Eddelbuettel <e...@debian.org> wrote: > > On 2 August 2017 at 20:22, Michaël BENESTY wrote: > | Hi, > | > | I am trying to wrap the Fasttext lib from Facebook on R. > | I have wrote a minimal code based on Rcpp.package.skeleton(module = TRUE) > | > | The C++ file compiles/works with sourceCpp() but it crashes when > | building a package. > | I have checked many D. Eddelbuettel to get a clue of what to do but no luck. > | I have already setup a Makevars file with a path to the include folder. > | > | The package source code is available there: > | https://github.com/pommedeterresautee/FastRText > | > | My Makevars: > | CXX_STD = CXX11 > | ROOT_INCLUDE = ../inst/include/ > | PKG_CPPFLAGS=-I$(ROOT_INCLUDE) > > If this is a library then you need to __link__ to it as well. That is > commonly done via PKG_LIBS=... and it may get you the additional problem of > having to ensure users of your package have the fastText library installed. > > Dirk > | > | > | The error I am seeing: > | ==> R CMD INSTALL --preclean --no-multiarch --with-keep.source FastRText > | ... > | Error: package or namespace load failed for ‘FastRText’ in > | dyn.load(file, DLLpath = DLLpath, ...): > | impossible de charger l'objet partagé > | > '/home/geantvert/R/x86_64-pc-linux-gnu-library/3.4/FastRText/libs/FastRText.so': > | > /home/geantvert/R/x86_64-pc-linux-gnu-library/3.4/FastRText/libs/FastRText.so: > | undefined symbol: _ZN8fasttext8FastTextC1Ev > | > | > | The full log is available there: > | https://github.com/pommedeterresautee/FastRText/issues/1 > | > | According to c++filt > | undefined symbol: _ZN8fasttext8FastTextC1Ev means -> > | fasttext::FastText::FastText() > | > | > | Has anyone an idea? > | > | Kind regards, > | Michaël > | ________________ > | Michaël BENESTY > | mich...@benesty.fr > | Please do not print this e-mail unless you really need to. > | _______________________________________________ > | 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 > -- > 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