[Bioc-devel] Updating for 3.11

Martin Morgan mtmorg@n@b|oc @end|ng |rom gm@||@com
Tue Jan 7 20:40:02 CET 2020


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" <bioc-devel-bounces using r-project.org on behalf of karl.stamm using gmail.com> 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]]
    
    _______________________________________________
    Bioc-devel using r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel
    


More information about the Bioc-devel mailing list