[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