nlmixrdevelopment / RxODE

RxODE is an R package that facilitates easy simulations in R
https://nlmixrdevelopment.github.io/RxODE/
GNU General Public License v3.0
55 stars 14 forks source link

tbb/tbb_stddef.h: No such file or directory #490

Open mbatgh opened 8 months ago

mbatgh commented 8 months ago

Hi,

I just tried to install RxODE on my linux box (debian trixie, R version 4.3.2)

install.packages("RxODE") gives me: package ‘RxODE’ is not available for this version of R

devtools::install_github("nlmixrdevelopment/RxODE") gives: [...] g++ -std=gnu++14 -I"/usr/share/R/include" -DNDEBUG -I'/usr/local/lib/R/site-library/dparser/include' -I'/usr/local/lib/R/site-library/PreciseSums/include' -I'/usr/lib/R/site-library/RcppEigen/include' -I'/usr/lib/R/site-library/RcppArmadillo/include' -I'/usr/local/lib/R/site-library/sitmo/include' -I'/usr/local/lib/R/site-library/StanHeaders/include' -I'/usr/local/lib/R/site-library/BH/include' -fopenmp -DisRxODE -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -DBOOST_NO_AUTO_PTR -D_REENTRANT -isystem"/usr/local/lib/R/site-library/BH/include" -isystem"/usr/lib/R/site-library/RcppEigen/include" -isystem'/usr/local/lib/R/site-library/StanHeaders/include/src' -isystem"/usr/local/lib/R/site-library/Rcpp/include" -isystem"/usr/lib/R/site-library/RcppArmadillo/include" -fpic -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.3.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c lincmtB.cpp -o lincmtB.o In file included from /usr/local/lib/R/site-library/StanHeaders/include/stan/math/prim/core.hpp:4, from /usr/local/lib/R/site-library/StanHeaders/include/stan/math/rev/core/Eigen_NumTraits.hpp:5, from /usr/local/lib/R/site-library/StanHeaders/include/stan/math/rev/core/typedefs.hpp:7, from /usr/local/lib/R/site-library/StanHeaders/include/stan/math/rev/core/chainable_object.hpp:6, from /usr/local/lib/R/site-library/StanHeaders/include/stan/math/rev/core.hpp:10, from /usr/local/lib/R/site-library/StanHeaders/include/stan/math/rev.hpp:10, from /usr/local/lib/R/site-library/StanHeaders/include/stan/math.hpp:19, from lincmtB.cpp:4: /usr/local/lib/R/site-library/StanHeaders/include/stan/math/prim/core/init_threadpool_tbb.hpp:9:10: fatal error: tbb/tbb_stddef.h: No such file or directory 9 | #include <tbb/tbb_stddef.h> | ^~~~~~ compilation terminated.

libtbb-dev is installed on my systrem (version (2021.11.0-2)) any help highly appreciated! cheers Michael

mattfidler commented 8 months ago

Hi @mbatgh

You can install rxode2 from CRAN right now. It works mostly the same, though model piping and nlmixr2 style models also work in solving.

Right now RxODE needs some bug fixes to get on CRAN.

mbatgh commented 8 months ago

thanks for the swift reply! ... unfortunately, now i get a different error:

install.packages("rxode2") ... g++ -std=gnu++17 -I"/usr/share/R/include" -DNDEBUG -I'/usr/local/lib/R/site-library/Rcpp/include' -I'/usr/lib/R/site-library/RcppEigen/include' -I'/usr/local/lib/R/site-library/StanHeaders/include' -I'/usr/local/lib/R/site-library/BH/include' -I'/usr/lib/R/site-library/RcppParallel/include' -fopenmp -Disrxode2parse -DBOOST_DISABLE_ASSERTS -DBOOST_NO_CXX11_STATIC_ASSERT -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -D_HAS_AUTO_PTR_ETC=0 -D_REENTRANT -isystem"/usr/local/lib/R/site-library/BH/include" -isystem"/usr/lib/R/site-library/RcppEigen/include" -isystem'/usr/lib/R/site-library/RcppParallel/include' -D_REENTRANT -DSTAN_THREADS -DTBB_INTERFACE_NEW -isystem/usr/include -DTBB_INTERFACE_NEW -isystem'/usr/local/lib/R/site-library/StanHeaders/include/src' -isystem"/usr/local/lib/R/site-library/Rcpp/include" -fpic -g -O2 -ffile-prefix-map=/build/reproducible-path/r-base-4.3.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -c RcppExports.cpp -o RcppExports.o In file included from /usr/include/c++/13/ext/string_conversions.h:43, from /usr/include/c++/13/bits/basic_string.h:4109, from /usr/include/c++/13/string:54, from /usr/include/c++/13/bits/locale_classes.h:40, from /usr/include/c++/13/bits/ios_base.h:41, from /usr/include/c++/13/streambuf:43, from /usr/include/c++/13/bits/streambuf_iterator.h:35, from /usr/include/c++/13/iterator:66, from /usr/lib/R/site-library/RcppEigen/include/RcppEigenForward.h:25, from /usr/lib/R/site-library/RcppEigen/include/RcppEigen.h:25, from RcppExports.cpp:4: /usr/include/c++/13/cstdlib:79:15: fatal error: stdlib.h: No such file or directory 79 | #include_next | ^~~~~~ compilation terminated.

is there anywhere a listing of all requirements for rxode2? thanks! michael

mattfidler commented 8 months ago

I'm unsure if your compiler is setup correctly. <stdlib.h> is one of the standard includes for C.

For me, because I like things to install quickly and not worry about dependencies, I use:

https://github.com/eddelbuettel/r2u

However, I don't think that you have a supported ubuntu distribution. I haven't even heard of trixie yet.

mattfidler commented 8 months ago

It could be because you don't have the required dependency packages installed. I looked again ad your issue and it has a prefix of tbb_ which implies you need RcppParallel setup.

mbatgh commented 8 months ago

Hi Matthew The following did work in R 4.3.2 on debian trixie (this is the latest/testing version of debian) ...

install.packages("RcppParallel", dependencies = TRUE) install.packages("rxode2") install.packages("nlmixr2",dependencies = TRUE)

I also managed to successfully run the example on https://github.com/nlmixr2/nlmixr2.

Can you please confirm whether the documentation for nlmixr, e.g. here: https://nlmixrdevelopment.github.io/nlmixr_bookdown/applications.html#posters-presentations-and-publications, also applies to nlmixr2? If there are any a major changes, are they documented somewhere?

Thanks again for your help! regards, Michael

mattfidler commented 8 months ago

Hi Michael, there are some major changes, but I think that the user visible changes are minimal (mostly a bit more stable).

The changes are discussed here:

https://blog.nlmixr2.org/blog/2022-06-08-nlmixr2-is-here/