koheiw / seededlda

LDA for semisupervised topic modeling
https://koheiw.github.io/seededlda/
73 stars 16 forks source link

Issues about seededlda library installation #73

Open Abdinardo opened 6 months ago

Abdinardo commented 6 months ago

I am trying to install seededlda, but this error happens, and I do not know how to fix it. I am using R version 4.3.3 and my SO is Ubuntu 22.04. I look forward to hearing from you. Thanks.

installing source package ‘seededlda’ ... package ‘seededlda’ successfully unpacked and MD5 sums checked using staged installation ** libs using C++ compiler: ‘g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’ g++ -std=gnu++17 -I"/opt/R/4.3.3/lib/R/include" -DNDEBUG -DARMA_DONT_PRINT_OPENMP_WARNING -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include' -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/RcppParallel/include' -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/RcppArmadillo/include' -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/quanteda/include' -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/testthat/include' -I/usr/local/include -DARMA_64BIT_WORD=1 -fpic -g -O2 -c RcppExports.cpp -o RcppExports.o g++ -std=gnu++17 -I"/opt/R/4.3.3/lib/R/include" -DNDEBUG -DARMA_DONT_PRINT_OPENMP_WARNING -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include' -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/RcppParallel/include' -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/RcppArmadillo/include' -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/quanteda/include' -I'/home/abdinardo/R/x86_64-pc-linux-gnu-library/4.3/testthat/include' -I/usr/local/include -DARMA_64BIT_WORD=1 -fpic -g -O2 -c lda.cpp -o lda.o In file included from lda.cpp:4: lda.h: In constructor ‘LDA::LDA(int, double, double, double, int, double, int, int, bool, int)’: lda.h:128:33: error: ‘tbb’ has not been declared 128 | if (0 < thread && thread <= tbb::this_task_arena::max_concurrency()) | ^~~ lda.h: In member function ‘void LDA::set_default_values()’: lda.h:152:14: error: ‘tbb’ has not been declared 152 | thread = tbb::this_task_arena::max_concurrency(); | ^~~ lda.h: In member function ‘void LDA::estimate()’: lda.h:255:5: error: ‘tbb’ has not been declared 255 | tbb::mutex mutex_sync; | ^~~ lda.h:263:9: error: ‘tbb’ has not been declared 263 | tbb::task_arena arena(thread); | ^~~ lda.h:264:9: error: ‘arena’ was not declared in this scope 264 | arena.execute([&]{ | ^~~~~ lda.h: In lambda function: lda.h:265:13: error: ‘tbb’ has not been declared 265 | tbb::parallel_for(tbb::blocked_range(0, M, batch), [&](tbb::blocked_range r) { | ^~~ lda.h:265:31: error: ‘tbb’ has not been declared 265 | tbb::parallel_for(tbb::blocked_range(0, M, batch), [&](tbb::blocked_range r) { | ^~~ lda.h:265:50: error: expected primary-expression before ‘int’ 265 | tbb::parallel_for(tbb::blocked_range(0, M, batch), [&](tbb::blocked_range r) { | ^~~ lda.h:265:73: error: ‘tbb’ has not been declared 265 | tbb::parallel_for(tbb::blocked_range(0, M, batch), [&](tbb::blocked_range r) { | ^~~ lda.h:265:91: error: expected ‘,’ or ‘...’ before ‘<’ token 265 | tbb::parallel_for(tbb::blocked_range(0, M, batch), [&](tbb::blocked_range r) { | ^ lda.h: In lambda function: lda.h:267:29: error: ‘r’ was not declared in this scope 267 | int begin = r.begin(); | ^ lda.h:303:17: error: ‘mutex_sync’ was not declared in this scope 303 | mutex_sync.lock(); | ^~~~~~ lda.h: In lambda function: lda.h:308:16: error: ‘tbb’ has not been declared 308 | }, tbb::static_partitioner()); | ^~~ make: *** [/opt/R/4.3.3/lib/R/etc/Makeconf:200: lda.o] Erro 1 ERROR: compilation failed for package ‘seededlda’

The downloaded source packages are in ‘/tmp/RtmpN0g5Q2/downloaded_packages’

koheiw commented 6 months ago

Please try the development version: devtools::install_github("koheiw/seededlda"). It requires quanteda v.4.0 too.