[Bioc-devel] macOS Mojave and R 3.6: issue with building some packages from source

Leonardo Collado Torres lcoll@do @ending from jhu@edu
Fri Nov 2 21:05:00 CET 2018


Hi,

I was about to send the email below, but eventually I got it to work.
I'm sharing it anyway since others might run into similar issues.

Basically, I needed the latest macOS command line tools installed, but
getting them installed was tricky. I installed Xcode 10.1 (10B61) from
the Mac App Store, then installed a version of the command line tools
via https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.14_for_Xcode_10.1_Beta_2/Command_Line_Tools_macOS_10.14_for_Xcode_10.1_Beta_2.dmg,
rebooted, then under "settings", "software update" detected that there
was a newer version. Finally, I was then able to install the backports
R package.

Best,
Leo



## Successful install:

> install.packages('backports')
Warning: unable to access index for repository
https://cloud.r-project.org/bin/macosx/el-capitan/contrib/3.6:
  cannot open URL
'https://cloud.r-project.org/bin/macosx/el-capitan/contrib/3.6/PACKAGES'
Package which is only available in source form, and may need
  compilation of C/C++/Fortran: ‘backports’
Do you want to attempt to install these from sources? (Yes/no/cancel) y
installing the source package ‘backports’

trying URL 'https://cloud.r-project.org/src/contrib/backports_1.1.2.tar.gz'
Content type 'application/x-gzip' length 10900 bytes (10 KB)
==================================================
downloaded 10 KB

* installing *source* package ‘backports’ ...
** package ‘backports’ successfully unpacked and MD5 sums checked
** libs
/usr/local/clang4/bin/clang
-I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
-I/usr/local/include   -fPIC  -Wall -g -O2  -c dotsElt.c -o dotsElt.o
/usr/local/clang4/bin/clang
-I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
-I/usr/local/include   -fPIC  -Wall -g -O2  -c dotsLength.c -o
dotsLength.o
/usr/local/clang4/bin/clang
-I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
-I/usr/local/include   -fPIC  -Wall -g -O2  -c init.c -o init.o
/usr/local/clang4/bin/clang++ -dynamiclib
-Wl,-headerpad_max_install_names -undefined dynamic_lookup
-single_module -multiply_defined suppress
-L/Library/Frameworks/R.framework/Resources/lib
-L/usr/local/clang4/lib -o backports.so dotsElt.o dotsLength.o init.o
-F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
-Wl,CoreFoundation
ld: warning: text-based stub file
/System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd
and library file
/System/Library/Frameworks//CoreFoundation.framework/CoreFoundation
are out of sync. Falling back to library file for linking.
installing to /Library/Frameworks/R.framework/Versions/3.6/Resources/library/backports/libs
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Loading required package: colorout
devtools::install_github("jalvesaq/colorout")
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE,
logical.return = TRUE,  :
  there is no package called ‘colorout’
* DONE (backports)

The downloaded source packages are in
‘/private/var/folders/cx/n9s558kx6fb7jf5z_pgszgb80000gn/T/RtmpBZUipc/downloaded_packages’
>
> sessionInfo()
R Under development (unstable) (2018-04-05 r74542)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS  10.14.1

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.6.0 tools_3.6.0    tcltk_3.6.0







## Older email:




Hi,

With Bioconductor 3.9 now being live, I got a few emails about some of
my packages which I wanted to look into. For that I tried installing R
3.6 with all my current R 3.5 packages. I quickly ran into problems
trying to install devtools. Basically, the backports package is not
available as a binary and the compilation from source fails because it
can't find an stdlib.h file. I also recently updated my Mac with the
new OS as well as the latest Xcode (which in theory now comes with the
command line tools that should include that stdlib.h file). I also
installed the latest command line tools but still ran into the same
issue.

Has anyone else seen this issue and resolved it? If so, what step and I missing?

Thanks,
Leo


> install.packages('backports')
Warning: unable to access index for repository
https://cloud.r-project.org/bin/macosx/el-capitan/contrib/3.6:
  cannot open URL
'https://cloud.r-project.org/bin/macosx/el-capitan/contrib/3.6/PACKAGES'
Package which is only available in source form, and may need
  compilation of C/C++/Fortran: ‘backports’
Do you want to attempt to install these from sources? (Yes/no/cancel) y
installing the source package ‘backports’

trying URL 'https://cloud.r-project.org/src/contrib/backports_1.1.2.tar.gz'
Content type 'application/x-gzip' length 10900 bytes (10 KB)
==================================================
downloaded 10 KB

* installing *source* package ‘backports’ ...
** package ‘backports’ successfully unpacked and MD5 sums checked
** libs
/usr/local/clang4/bin/clang
-I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
-I/usr/local/include   -fPIC  -Wall -g -O2  -c dotsElt.c -o dotsElt.o
In file included from dotsElt.c:1:
/Library/Frameworks/R.framework/Resources/include/R.h:55:11: fatal
error: 'stdlib.h' file not found
# include <stdlib.h> /* Not used by R itself, but widely assumed in packages */
          ^~~~~~~~~~
1 error generated.
make: *** [dotsElt.o] Error 1
ERROR: compilation failed for package ‘backports’
* removing ‘/Library/Frameworks/R.framework/Versions/3.6/Resources/library/backports’

The downloaded source packages are in
‘/private/var/folders/cx/n9s558kx6fb7jf5z_pgszgb80000gn/T/Rtmp2hfmV8/downloaded_packages’
Warning message:
In install.packages("backports") :
  installation of package ‘backports’ had non-zero exit status
>
> sessionInfo()
R Under development (unstable) (2018-04-05 r74542)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS  10.14.1

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.6.0 tools_3.6.0    tcltk_3.6.0

https://github.com/catboost/catboost/issues/137 lead me to
https://forums.developer.apple.com/thread/104296 and searching for
"macOS_SDK_headers_for_macOS_10.14. pkg" lead me to
https://stackoverflow.com/questions/51274905/brew-install-on-mojave
>From https://developer.apple.com/download/more/ I downloaded and
installed https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.14_for_Xcode_10.1_Beta_2/Command_Line_Tools_macOS_10.14_for_Xcode_10.1_Beta_2.dmg

I also ran the following:

$ brew update
$ brew doctor
## Plus some things that brew doctor recommended (that don't have
anything to do with stdlib.h)
$ brew upgrade gcc
==> Upgrading 1 outdated package:
gcc 6.2.0 -> 8.2.0
## more output deleted

Ohhhhh, now "Software Update" is noticing a new Command Line Tools
version. (and then that's when it worked...)



More information about the Bioc-devel mailing list