[Rcpp-devel] Help reading libzma file
Dirk Eddelbuettel
edd at debian.org
Thu Jun 23 12:59:04 CEST 2022
On 23 June 2022 at 10:05, Serguei Sokol wrote:
| Le 23/06/2022 à 04:07, Roberto Spadim a écrit :
| > Hi folks
| >
| > I have a .xz file and need to read it and "convert" to a DataFrame using
| > Rcpp if possible.
| >
| > But... I'm with a problem (first time testing this) using liblzma with
| > Rcpp, I already know how to do this with CMakeLists.txt, but I don't
| > know how to do with RCpp
| >
| > Anyone have an idea?
| You have to use Makevars file, either in src/ or in $HOME/.R/ dir.
| In this file you have to add something like:
|
| PKG_CPPFLAGS += -I<dir_where_lzma.h_leaves>
| PKG_LDFLAGS += -L<dir_where_liblzma.so_lives> -llzma
|
| To make this solution portable, you can want to use configure script
| which usage is described in WRE
| https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Configure-and-cleanup
|
| Best,
| Serguei.
|
| >
| > Output from compile time:
| >
| > > sourceCpp("D:/Trabalho/FTDB-R/FTDB/src/ftdbR.cpp")
And you want to look into using a package, not `sourceCpp()` which is
designed for more one-off interactive work.
You can start a package with the `Rcpp.package.skeleton()` function, and then
add a src/Makevars as correctly suggested by Serguei. There are also many
example Rcpp on CRAN, GitHub and other places to look at. The `qs` and `fst`
packages both cover compression too (but do a lot more...), I can't right now
think of a simpler package adding just one compressor but there may well be one.
Regards, Dirk
| > /mingw64/bin/g++ -std=gnu++11 -I"C:/PROGRA~1/R/R-41~1.2/include"
| > -DNDEBUG -I"C:/Users/rspadim/Documents/R/win-library/4.1/Rcpp/include"
| > -I"D:/Trabalho/FTDB-R/FTDB/src" -I"D:/Trabalho/FTDB-R/FTDB/inst/include"
| > -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c
| > D:/Trabalho/FTDB-R/FTDB/src/xz/xz/decode.cpp -o
| > D:/Trabalho/FTDB-R/FTDB/src/xz/xz/decode.o
| > D:/Trabalho/FTDB-R/FTDB/src/xz/xz/decode.cpp:5:10: fatal error: lzma.h:
| > No such file or directory
| > #include <lzma.h>
| > ^~~~~~~~
| > compilation terminated.
| > make: *** [C:/PROGRA~1/R/R-41~1.2/etc/x64/Makeconf:245:
| > D:/Trabalho/FTDB-R/FTDB/src/xz/xz/decode.o] Error 1
| > Error in sourceCpp("D:/Trabalho/FTDB-R/FTDB/src/ftdbR.cpp") :
| > Error 1 occurred building shared library.
| > In addition: Warning message:
| > In normalizePath(path.expand(path), winslash, mustWork) :
| > path[1]="D:/Trabalho/FTDB-R/FTDB/src/../inst/include": O sistema não
| > pode encontrar o caminho especificado
| >
| >
| > _______________________________________________
| > 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
|
| _______________________________________________
| 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
--
dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the Rcpp-devel
mailing list