I'm not an expert on macOS, but generally one wants to follow documented R 
procedures.

Instructions for installing binary versions of R on macOS, including managing 
multiple versions, are provide at 
http://mac.r-project.org/man/R-admin.html#Installing-R-under-macOS.

The section about installing R packages from source is at 
http://mac.r-project.org/man/R-admin.html#macOS-packages.

Several system libraries, and instructions for installing them, are at 
https://mac.r-project.org/libs/ and I believe should be preferred to homebrew.

This changes (corrects?) some of the contortions you indicate below, for 
instance it is not necessary to fiddle with clang4. Also, by using the 
CRAN-distributed binary (from http://mac.r-project.org/) for R-devel one does 
not need to compile packages (other than your own) from source but rather can 
install the binaries (see pkgType on ?options and ?install.packages).

I think it's helpful too to ask whether dependencies are all strictly 
necessary, or only convenient (stringr and stringi useage often seems to fall 
into this category, where base string manipulation functionality is often 
sufficient) or providing very marginal functionality that adds minimally to our 
packages -- perhaps, in general and not necessarily your use of DESeq2, our 
packages could adopt a New Year's resolution and go on a dependency diet?

Martin

On 1/8/20, 12:18 AM, "Bioc-devel on behalf of Karl Stamm" 
<[email protected] on behalf of [email protected]> wrote:

    I was notified recently my package has build errors going in to bioc 3.11.
    So begins the biannual saga of updating everything to see what's new.
    My package has quite a few dependencies, so it's normal for someone to
    change their API and break my scripted usage. This time a default parameter
    changed in DESeq2::lfcShrink and my fix is simply to specify the previous
    method.
    However, to get there, we need to update the system to R 4.0.0 release
    candidate, and download and compile all of the bioconductor packages
    implicated. My primary system is an OSX 10.12, and certain system packages
    are out of date routinely on OSX.
    I'm sharing this story with the group to report some commands I have found
    necessary and may help others fighting through this process.
    
    First was "clang4" a c compiler needed by R devel and not available in the
    right spot on OSX 10.12.  A fix was found by reinstalling clang in several
    spots lying about the version numbers. these downloads are complete
    installation with varied linker names.
    
    To install the R package called XML you need a system library for libxml.
    Which is called libxml2 on OSX, and primarily available through Homebrew,
    which itself wanted to update. Brew update brings in a Ruby engine and a
    Python installation, and finally warns that OSX 10.12 is aged out of
    support, and will only make the libxml available "within the keg" which is
    apparently their nomenclature for a local installation vs system.
    So to get the R library to see it we first need to run
    Sys.setenv(XML_CONFIG = "/usr/local/Cellar/libxml2/2.9.10/bin/xml2-config")
    Where the 2.9.10 folder name may vary with your system. Had I known,
    perhaps I could have avoided updating brew entirely.
    
    Next RCurl didn't want to install/compile, because Apple XCode 9 has
    removed the libsystem_darwin.dylib for the x64 architecture. The command to
    re-use a previously installed version is simply:
    sudo xcode-select -s /Library/Developer/CommandLineTools
    
    With that I was able to install the Bioc Devel versions and finally
    reproduce the bug found on the build servers.
    
        [[alternative HTML version deleted]]
    
    _______________________________________________
    [email protected] mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel
    
_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to