rmacosgithubmacos-monterey

Trouble installing an R package from GitHub


I am attempting to install an R package from https://github.com/siqixu/DaubechiesSim, but I run into some errors (see below). I am running R version 4.3.2 on macOS Monterey version 12.6.5 in Rstudio version 2023.12.1+402.

I've tried following the instructions here: clang-7: error: linker command failed with exit code 1 for macOS Big Sur, but to no avail.

Thank you!

> install_github("siqixu/DaubechiesSim",ref="main") 
Downloading GitHub repo siqixu/DaubechiesSim@main
Installing 1 packages: RcppArmadillo
trying URL 'https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.3/RcppArmadillo_0.12.8.0.0.tgz'
Content type 'application/x-gzip' length 1678096 bytes (1.6 MB)
==================================================
downloaded 1.6 MB


The downloaded binary packages are in
    /var/folders/8_/_g1v36_s2dq6f005fqh_2m2c0000gp/T//RtmpARZ7O2/downloaded_packages
── R CMD build ─────────────────────────────────────────────────────────────────────────────────────────
✔  checking for file ‘/private/var/folders/8_/_g1v36_s2dq6f005fqh_2m2c0000gp/T/RtmpARZ7O2/remotes5bd045d60368/siqixu-DaubechiesSim-64fb1b3/DESCRIPTION’ ...
─  preparing ‘DaubechiesSim’:
✔  checking DESCRIPTION meta-information
─  cleaning src
─  installing the package to process help pages
         -----------------------------------
─  installing *source* package ‘DaubechiesSim’ ...
   ** using staged installation
   ** libs
   using C++ compiler: ‘Apple clang version 14.0.0 (clang-1400.0.29.202)’
   using C++11
   using SDK: ‘MacOSX13.1.sdk’
   clang++ -arch arm64 -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG  -I'/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include' -I'/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include' -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include     -fPIC  -falign-functions=64 -Wall -g -O2  -Wall -pedantic -fdiagnostics-color=always -c Daubechies_Sim.cpp -o Daubechies_Sim.o
   In file included from Daubechies_Sim.cpp:1:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:25:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/RcppCommon.h:30:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/Rcpp/r/headers.h:62:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/Rcpp/platform/compiler.h:100:
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:642:26: error: no template named 'numeric_limits'
       bool _FloatBigger = (numeric_limits<_FloatT>::digits > numeric_limits<_IntT>::digits),
                            ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:642:60: error: no template named 'numeric_limits'
       bool _FloatBigger = (numeric_limits<_FloatT>::digits > numeric_limits<_IntT>::digits),
                                                              ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:643:18: error: no template named 'numeric_limits'
       int _Bits = (numeric_limits<_IntT>::digits - numeric_limits<_FloatT>::digits)>
                    ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:643:50: error: no template named 'numeric_limits'
       int _Bits = (numeric_limits<_IntT>::digits - numeric_limits<_FloatT>::digits)>
                                                    ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:648:17: error: no template named 'numeric_limits'
     static_assert(numeric_limits<_FloatT>::radix == 2, "FloatT has incorrect radix");
                   ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:651:25: error: no template named 'numeric_limits'
     return _FloatBigger ? numeric_limits<_IntT>::max() :  (numeric_limits<_IntT>::max() >> _Bits << _Bits);
                           ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:651:58: error: no template named 'numeric_limits'
     return _FloatBigger ? numeric_limits<_IntT>::max() :  (numeric_limits<_IntT>::max() >> _Bits << _Bits);
                                                            ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:645:25: error: no return statement in constexpr function
   _LIBCPP_CONSTEXPR _IntT __max_representable_int_for_float() _NOEXCEPT {
                           ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:661:16: error: no template named 'numeric_limits'
     using _Lim = numeric_limits<_IntT>;
                  ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:664:12: error: use of undeclared identifier '_Lim'
       return _Lim::max();
              ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:665:21: error: use of undeclared identifier '_Lim'
     } else if (__r <= _Lim::lowest()) {
                       ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:666:12: error: use of undeclared identifier '_Lim'
       return _Lim::min();
              ^
   In file included from Daubechies_Sim.cpp:1:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:25:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/RcppCommon.h:30:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/Rcpp/r/headers.h:62:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/Rcpp/platform/compiler.h:153:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/unordered_map:437:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__hash_table:16:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm:653:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:490:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/search.h:15:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h:14:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/incrementable_traits.h:14:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/concepts:134:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional_base:22:
   In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/exception:83:
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib:138:9: error: target of using declaration conflicts with declaration already in scope
   using ::abs _LIBCPP_USING_IF_EXISTS;
           ^
   /usr/local/include/stdlib.h:132:6: note: target of using declaration
   int      abs(int) __pure2;
            ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:338:1: note: conflicting declaration
   using ::abs _LIBCPP_USING_IF_EXISTS;
   ^
   In file included from Daubechies_Sim.cpp:1:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:25:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/RcppCommon.h:65:
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/complex:853:1: error: declaration conflicts with target of using declaration already in scope
   abs(const complex<_Tp>& __c)
   ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:338:1: note: target of using declaration
   using ::abs _LIBCPP_USING_IF_EXISTS;
   ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:338:9: note: using declaration
   using ::abs _LIBCPP_USING_IF_EXISTS;
           ^
   In file included from Daubechies_Sim.cpp:1:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:25:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/RcppCommon.h:65:
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/complex:910:16: error: reference to unresolved using declaration
           return abs(__c.real());
                  ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:338:1: note: using declaration annotated with 'using_if_exists' here
   using ::abs _LIBCPP_USING_IF_EXISTS;
   ^
   In file included from Daubechies_Sim.cpp:1:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:25:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/RcppCommon.h:65:
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/complex:912:16: error: reference to unresolved using declaration
           return abs(__c.imag());
                  ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:338:1: note: using declaration annotated with 'using_if_exists' here
   using ::abs _LIBCPP_USING_IF_EXISTS;
   ^
   In file included from Daubechies_Sim.cpp:1:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:25:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/RcppCommon.h:65:
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/complex:969:16: error: reference to unresolved using declaration
           __re = abs(__re);
                  ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:338:1: note: using declaration annotated with 'using_if_exists' here
   using ::abs _LIBCPP_USING_IF_EXISTS;
   ^
   In file included from Daubechies_Sim.cpp:1:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:25:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/RcppCommon.h:65:
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/complex:1022:29: error: reference to unresolved using declaration
       return complex<_Tp>(log(abs(__x)), arg(__x));
                               ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:338:1: note: using declaration annotated with 'using_if_exists' here
   using ::abs _LIBCPP_USING_IF_EXISTS;
   ^
   In file included from Daubechies_Sim.cpp:1:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo.h:29:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/RcppArmadillo/include/RcppArmadillo/interface/RcppArmadilloForward.h:25:
   In file included from /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rcpp/include/RcppCommon.h:65:
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/complex:1049:23: error: reference to unresolved using declaration
       return polar(sqrt(abs(__x)), arg(__x) / _Tp(2));
                         ^
   /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:338:1: note: using declaration annotated with 'using_if_exists' here
   using ::abs _LIBCPP_USING_IF_EXISTS;
   ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.
   make: *** [Daubechies_Sim.o] Error 1
   ERROR: compilation failed for package ‘DaubechiesSim’
─  removing ‘/private/var/folders/8_/_g1v36_s2dq6f005fqh_2m2c0000gp/T/RtmphfS8UF/Rinst5da93be1fd83/DaubechiesSim’
         -----------------------------------
   ERROR: package installation failed
Error: Failed to install 'DaubechiesSim' from GitHub:
  ! System command 'R' failed```



Solution

  • Finally got it to work by following the recommendations of Justin Savoie here https://discourse.mc-stan.org/t/compile-issue-with-rstan-on-macbook-pro-m1/33195/15. My MacOS was already updated, so I removed Xcode and Command Line Tools, deleted Homebrew, and re-installed Xcode.

    What I did:I removed Command Line Tools. I updated Sonoma to 14.1.1. I deleted completely Homebrew (this was radical and I’m not sure it was needed, but I didn’t really need Homebrew). I installed the latest regular (non-beta) Xcode. I had tried before with CLT only; that didn’t work. CLT 15.1 beta didn’t work for me. Actually all CLT didn’t work for me.