mrc-ide/dust

Installation via drat seems to be broken

Opened this issue · 0 comments

When using drat to install dust (on MAC arm64), installation fails due to a spelling mistake in the "is_convertible_without_loss_to_integer" function (in the code the call is "is_convertable_without_loss_to_integer"). I believe that this is an issues that is already fixed in the newer dust versions but the dust version on drat is v 0.13.2. The issue does not arise when installing from the dust github repository directly but since using drat is the recommended way to install dust I thought it was worth it to open this issue.


Call and error message:

drat:::add("ncov-ic")
install.packages("dust")
Warning in install.packages :
unable to access index for repository https://ncov-ic.github.io/drat/bin/macosx/big-sur-arm64/contrib/4.4:
cannot open URL 'https://ncov-ic.github.io/drat/bin/macosx/big-sur-arm64/contrib/4.4/PACKAGES'
Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘dust’
Do you want to attempt to install these from sources? (Yes/no/cancel) Yes
installing the source package ‘dust’

trying URL 'https://ncov-ic.github.io/drat/src/contrib/dust_0.13.2.tar.gz'
Content type 'application/gzip' length 370505 bytes (361 KB)

downloaded 361 KB

  • installing source package ‘dust’ ...
    ** using staged installation
    ** libs
    using C++ compiler: ‘Apple clang version 15.0.0 (clang-1500.3.9.4)’
    using C++11
    using SDK: ‘MacOSX14.4.sdk’
    clang++ -arch arm64 -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/cpp11/include' -I/opt/R/arm64/include -I../inst/include -DHAVE_INLINE -fPIC -falign-functions=64 -Wall -g -O2 -c cpp11.cpp -o cpp11.o
    clang++ -arch arm64 -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/cpp11/include' -I/opt/R/arm64/include -I../inst/include -DHAVE_INLINE -fPIC -falign-functions=64 -Wall -g -O2 -c densities.cpp -o densities.o
    clang++ -arch arm64 -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/cpp11/include' -I/opt/R/arm64/include -I../inst/include -DHAVE_INLINE -fPIC -falign-functions=64 -Wall -g -O2 -c dust_rng.cpp -o dust_rng.o
    clang++ -arch arm64 -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/cpp11/include' -I/opt/R/arm64/include -I../inst/include -DHAVE_INLINE -fPIC -falign-functions=64 -Wall -g -O2 -c dust_rng_pointer.cpp -o dust_rng_pointer.o
    In file included from dust_rng_pointer.cpp:8:
    ../inst/include/dust/r/helpers.hpp:30:19: error: no member named 'is_convertable_without_loss_to_integer' in namespace 'cpp11'; did you mean 'is_convertible_without_loss_to_integer'?
    if (!cpp11::is_convertable_without_loss_to_integer(el)) {
    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    is_convertible_without_loss_to_integer
    /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/cpp11/include/cpp11/as.hpp:76:13: note: 'is_convertible_without_loss_to_integer' declared here
    inline bool is_convertible_without_loss_to_integer(double value) {
    ^
    1 error generated.
    make: *** [dust_rng_pointer.o] Error 1
    ERROR: compilation failed for package ‘dust’
  • removing ‘/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/dust’
  • restoring previous ‘/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/dust’
    Warning in install.packages :
    installation of package ‘dust’ had non-zero exit status

The downloaded source packages are in
‘/private/var/folders/8h/0z0h1h1n38xfhcxsv3rzwf080000gp/T/RtmpSCzmbG/downloaded_packages’