[Rcpp-devel] Rcpp + Package -> undefined symbol

Michaël BENESTY michael at benesty.fr
Wed Aug 2 23:26:26 CEST 2017


Thank you a lot Mr. Kou.
The package is now compiling and I have updated it to load modules at
loading of the package (was quite tricky).
Just to understand, the .cc has compiled just because you moved them
in src/ folder, am I right?
The -I flag in Makevars was not enough?

Kind regards,
Michaël
________________
Michaël BENESTY
michael at benesty.fr
Please do not print this e-mail unless you really need to.


On Wed, Aug 2, 2017 at 10:42 PM, Qiang Kou <qkou at umail.iu.edu> wrote:
> Hi, Michael,
>
> All the ".cc" files need to be compiled to make your package work. Putting
> them in the inst/include folder is not enough.
>
> I made some quick changes in your package and please check the attachment.
>
> Best,
>
> Qiang Kou
>
> On Wed, Aug 2, 2017 at 11:22 AM, Michaël BENESTY <michael at benesty.fr> 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)
>>
>>
>> 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
>> michael at benesty.fr
>> Please do not print this e-mail unless you really need to.
>> _______________________________________________
>> 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
>
>
>
>
> --
> Qiang Kou
> qkou at umail.iu.edu
> School of Informatics and Computing, Indiana University
>


More information about the Rcpp-devel mailing list