[R-SIG-Mac] build R for macOS with binary compatibility with CRAN

Simon Urbanek @|mon@urb@nek @end|ng |rom R-project@org
Thu Jan 16 04:56:56 CET 2020


JJB,

no, there are many different paths which apply for different compilers used in the past. Note that the line you are referring to is a -change command so it only applies if that entry is present in the binary, so it will only affect clang4, not the currently used compilers. The current compilers use ${TC_BASE} which is derived form the toolchains file:
https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R-build/toolchains

Cheers,
Simon


> On Jan 15, 2020, at 9:25 PM, Balamuta, James Joseph <balamut2 using illinois.edu> wrote:
> 
> Simon,
> 
> This is great! Thank you for sharing. I think I noticed a bug with the fixpathR script: clang4 complier is hard coded.
> 
> https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R-build/fixpathR
> 
> Instances:
> 
>    find . -name \*.dylib -or -name \*.so| xargs -n 1 install_name_tool -change /usr/local/clang4/lib/$gcclib $R/lib/$gcclib
> 
> and
> 
> 	install_name_tool -change /usr/local/clang4/lib/$gcclib $R/lib/$gcclib $rbin
> 
> Could this be the reason for the ABI issues we're having with clang7?
> 
> Best,
> 
> JJB
> 
> On 1/9/20, 8:52 PM, "R-SIG-Mac on behalf of Simon Urbanek" <r-sig-mac-bounces using r-project.org on behalf of simon.urbanek using R-project.org> wrote:
> 
>    Jonathon,
> 
>    when you build R it requires the compiler runtime libraries from /usr/local. We don't want to require users to install compilers just to run R, so we supply copies of those runtime libraries in the lib directory.
>    You can replicate the way CRAN R is built using the CRAN build scripts in https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R-build
> 
>    There is a lot going on and there are many special cases for all the compiler generations we were using over the years, but I think the main part to look at for what you refer to is
>    https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R-build/fixpathR
> 
>    Cheers,
>    Simon
> 
> 
> 
>> On Jan 9, 2020, at 5:38 PM, Jonathon Love <jon using thon.cc> wrote:
>> 
>> hi,
>> 
>> i've successfully built R for macOS, and it all works well, however i'm wanting to achieve compatibility with the prebuilt .tgz CRAN R packages.
>> 
>> the compatibility issue i've been having is that the R produced lacks the Resources/lib/libc++.1.dylib. the prebuilt CRAN R packages link to this, and can't find it at runtime.
>> 
>> i'm wondering where this file (and a few other files in Resources/lib) that ship with the official CRAN R binary come from - because i don't think they're from the build process of R.
>> 
>> it looks like the official binary is subject to a few additional build steps (copying binaries in, etc.)?
>> 
>> with thanks
>> 
>> jonathon
>> 
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac using r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>> 
> 
>    _______________________________________________
>    R-SIG-Mac mailing list
>    R-SIG-Mac using r-project.org
>    https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 
> 



More information about the R-SIG-Mac mailing list