<div dir="ltr">Dear Dirk and Simon, <br><br>Thank you so much for letting me know. Yes, I understand it is off-topic. <br><br>Best regards,<br>Naeem<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 15, 2021 at 5:46 PM Simon Urbanek <<a href="mailto:simon.urbanek@r-project.org">simon.urbanek@r-project.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Naeem,<br>
<br>
sorry, no, I can't help you then, the instructions only apply to standard macOS and won't help in your case. Also your issues seem to be stemming from the modified conda environment you're using so you're entirely on your own.<br>
<br>
Cheers,<br>
Simon<br>
<br>
<br>
<br>
> On 16/07/2021, at 8:44 AM, Naeem Khoshnevis <<a href="mailto:khoshnevis.naeem@gmail.com" target="_blank">khoshnevis.naeem@gmail.com</a>> wrote:<br>
> <br>
> <br>
> Thanks, Simon and Dirk,<br>
> <br>
> I can install the packages normally on macOS. However, I want to install it in a conda environment. Thanks for sharing the link. I really appreciate it.   <br>
> <br>
> Here is a reproducible example, in case you have time to try.<br>
> <br>
> On macOS:<br>
> <br>
> Step 1: create a conda environment and install R<br>
> <br>
> conda create -n r-environment r-essentials r-base<br>
> <br>
> Step 2: activate the environment<br>
> <br>
> conda activate r-environment<br>
> <br>
> Step 3: Install rstudio<br>
> <br>
> conda install -c r rstudio<br>
> <br>
> Step 4: Install some required packages<br>
> <br>
> conda install -c r r-devtools<br>
> conda install -c r r-wcorr<br>
> conda install -c r r-ranger<br>
> conda install -c conda-forge r-rcpparmadillo<br>
> conda install -c r r-testthat<br>
> conda install -c conda-forge r-superlearner<br>
> conda install -c conda-forge r-polycor<br>
> conda install -c conda-forge r-logger<br>
> <br>
> Step 6:<br>
> According to this page, download dependencies:<br>
> <a href="https://mac.r-project.org/openmp/" rel="noreferrer" target="_blank">https://mac.r-project.org/openmp/</a><br>
> <br>
> And copied them into the environment include and lib directory. <br>
> <br>
> <br>
> Step 7:<br>
> According to this page, I exported variables in step 6.<br>
> <a href="https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#set-env-vars" rel="noreferrer" target="_blank">https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#set-env-vars</a><br>
> <br>
> #!/bin/sh<br>
> <br>
> export PKG_CPPFLAGS='-Xclang -fopenmp'<br>
> export PKG_LIBS='-lomp'<br>
> <br>
> Step 8:<br>
> Reactivated the conda environment<br>
> <br>
> Step 9:<br>
> run: rstudio<br>
> <br>
> Step 10:<br>
> inside rstudio<br>
> library(devtools)<br>
> install_github("fasrc/CausalGPS")<br>
> <br>
> I get the following error:<br>
> <br>
> Downloading GitHub repo fasrc/CausalGPS@master<br>
> Error: Could not find tools necessary to compile a package<br>
> <br>
> I think something is wrong with Step 7. Because apparently, I lost the path to Xcode. Without Step 7, I get the following error:<br>
> <br>
> In file included from ColorSpace.cpp:1:<br>
> In file included from ./ColorSpace.h:4:<br>
> In file included from env/bin/../include/c++/v1/typeinfo:60:<br>
> In file included from env/bin/../include/c++/v1/exception:81:<br>
> In file included from env/bin/../include/c++/v1/cstdlib:85:<br>
> In file included from env/bin/../include/c++/v1/stdlib.h:100:<br>
> env/bin/../include/c++/v1/math.h:773:12: error: no member named 'labs' in the global namespace; did you mean 'abs'?<br>
>   return ::labs(__x);<br>
>          ~~^<br>
> ~/env/bin/../include/c++/v1/math.h:772:39: note: 'abs' declared here<br>
> inline _LIBCPP_INLINE_VISIBILITY long abs(long __x) _NOEXCEPT {<br>
>                                       ^<br>
> ~/env/bin/../include/c++/v1/math.h:777:12: error: no member named 'llabs' in the global namespace<br>
>   return ::llabs(__x);<br>
>          ~~^<br>
> ~/env/bin/../include/c++/v1/math.h:785:12: error: no member named 'fabsf' in the global namespace<br>
>   return ::fabsf(__lcpp_x);<br>
>          ~~^<br>
> ~/env/bin/../include/c++/v1/math.h:789:12: error: no member named 'fabs' in the global namespace; did you mean 'abs'?<br>
>   return ::fabs(__lcpp_x);<br>
>          ~~^<br>
> ~/env/bin/../include/c++/v1/math.h:772:39: note: 'abs' declared here<br>
> inline _LIBCPP_INLINE_VISIBILITY long abs(long __x) _NOEXCEPT {<br>
>                                       ^<br>
> ~/env/bin/../include/c++/v1/math.h:794:12: error: no member named 'fabsl' in the global namespace<br>
>   return ::fabsl(__lcpp_x);<br>
>          ~~^<br>
> <br>
> Best regards, <br>
> Naeem <br>
> <br>
> On Thu, Jul 15, 2021 at 3:25 AM Simon Urbanek <<a href="mailto:simon.urbanek@r-project.org" target="_blank">simon.urbanek@r-project.org</a>> wrote:<br>
> Naeem,<br>
> <br>
> I'm not sure which issues are you talking about specifically. If your package is well written, the instructions at <a href="https://mac.r-project.org/openmp/" rel="noreferrer" target="_blank">https://mac.r-project.org/openmp/</a> should be sufficient with regular CRAN installation of R and standard tools.<br>
> <br>
> Cheers,<br>
> Simon<br>
> <br>
> <br>
> <br>
> > On Jul 15, 2021, at 02:41, Naeem Khoshnevis <<a href="mailto:khoshnevis.naeem@gmail.com" target="_blank">khoshnevis.naeem@gmail.com</a>> wrote:<br>
> > <br>
> > Hi,<br>
> > <br>
> > I hope this email finds you well.<br>
> > I wondered what the best approaches to troubleshooting C++ dependencies issues in general and specifically in R are; specifically, those packages which are using OpenMP and we want to install on macOS. <br>
> > So far, I am just googling the error and finding out what the problem is. However, it is hard to address issues and come up with long-term solutions without internalizing the concepts.<br>
> > One example is creating a conda environment for each R package project and installing llvm, clang, etc into each environment.  <br>
> > I talked to several software engineers; however, I could not find a convincing answer. I think I do not know what I do not know about this topic, which prevents me from asking good questions. I would be grateful if you could let me know your thoughts about these questions.<br>
> > <br>
> > Where is a good place to start learning about this topic?<br>
> > Is a professional C++ developer necessarily good at troubleshooting problems with compilers and linkers? Or these are two different topics.<br>
> > <br>
> > Best regards,<br>
> > Naeem Khoshnevis<br>
> > _______________________________________________<br>
> > Rcpp-devel mailing list<br>
> > <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org" target="_blank">Rcpp-devel@lists.r-forge.r-project.org</a><br>
> > <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" rel="noreferrer" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
> <br>
<br>
</blockquote></div>