conda-forge / r-base-feedstock

A conda-smithy repository for r-base.
BSD 3-Clause "New" or "Revised" License
14 stars 47 forks source link

System library issues with 3.5.1 build(s?) #68

Closed vilhelmen closed 3 months ago

vilhelmen commented 5 years ago

Issue: R can't find/use system libraries with certain builds of 3.5.1

I've been having some hair-pulling issues with R and a recent build seems to be part of the issue. This version of r-base (r-base=3.5.1=he45234b_1005) seems to not be able to build/link with system libraries, and I'm not sure why. I dug through my docker containers (my container has only successfully built ONCE due to conda picking arbitrary R builds) and found the build (and Makeconf) were different.


Environment (conda list):

``` $ conda list # packages in environment at /opt/conda: # # Name Version Build Channel _r-mutex 1.0.0 anacondar_1 defaults alembic 0.9.9 py_0 conda-forge asn1crypto 0.24.0 py36_1003 conda-forge async_generator 1.10 py_0 conda-forge attrs 18.2.0 py_0 conda-forge backcall 0.1.0 py_0 conda-forge beautifulsoup4 4.6.3 py36_1000 conda-forge binutils_impl_linux-64 2.28.1 had2808c_3 defaults binutils_linux-64 7.2.0 had2808c_27 defaults blas 1.1 openblas conda-forge bokeh 0.13.0 py36_1000 conda-forge bwidget 1.9.11 1 defaults bzip2 1.0.6 h14c3975_1002 conda-forge ca-certificates 2018.11.29 ha4d7672_0 conda-forge cairo 1.14.12 h80bd089_1005 conda-forge certifi 2018.11.29 py36_1000 conda-forge cffi 1.11.5 py36h9745a5d_1001 conda-forge chardet 3.0.4 py36_1003 conda-forge cloudpickle 0.5.6 py_0 conda-forge conda 4.6.1 py36_0 conda-forge conda-env 2.6.0 1 conda-forge configurable-http-proxy 1.3.0 0 conda-forge cryptography 2.3.1 py36hb7f436b_1000 conda-forge curl 7.63.0 h646f8bb_1000 conda-forge cycler 0.10.0 py_1 conda-forge cython 0.28.5 py36hf484d3e_1000 conda-forge cytoolz 0.9.0.1 py36h14c3975_1001 conda-forge dask-core 1.1.0 py_0 conda-forge dbus 1.13.0 h4e0c4b3_1000 conda-forge decorator 4.3.2 py_0 conda-forge dill 0.2.8.2 py36_1000 conda-forge entrypoints 0.3 py36_1000 conda-forge expat 2.2.5 hf484d3e_1002 conda-forge fastcache 1.0.2 py36h14c3975_1001 conda-forge fontconfig 2.13.1 h2176d3f_1000 conda-forge freetype 2.9.1 h94bbf69_1005 conda-forge gcc_impl_linux-64 7.2.0 habb00fd_3 defaults gcc_linux-64 7.2.0 h550dcbe_27 defaults gettext 0.19.8.1 h9745a5d_1001 conda-forge gfortran_impl_linux-64 7.2.0 hdf63c60_3 defaults gfortran_linux-64 7.2.0 h550dcbe_27 defaults glib 2.56.2 had28632_1001 conda-forge gmp 6.1.2 hf484d3e_1000 conda-forge gmpy2 2.0.8 py36hb20f59a_1002 conda-forge graphite2 1.3.13 hf484d3e_1000 conda-forge gst-plugins-base 1.12.5 h3865690_1000 conda-forge gstreamer 1.12.5 h0cc0488_1000 conda-forge gxx_impl_linux-64 7.2.0 hdf63c60_3 defaults gxx_linux-64 7.2.0 h550dcbe_27 defaults h5py 2.7.1 py36_3 conda-forge harfbuzz 1.9.0 he243708_1001 conda-forge hdf5 1.10.1 2 conda-forge icu 58.2 hf484d3e_1000 conda-forge idna 2.8 py36_1000 conda-forge imageio 2.4.1 py36_1000 conda-forge ipykernel 5.1.0 py36h24bf2e0_1001 conda-forge ipython 7.2.0 py36h24bf2e0_1000 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 7.4.2 py_0 conda-forge jedi 0.13.2 py36_1000 conda-forge jinja2 2.10 py_1 conda-forge jpeg 9c h14c3975_1001 conda-forge jsonschema 3.0.0a3 py36_1000 conda-forge jupyter_client 5.2.4 py_1 conda-forge jupyter_core 4.4.0 py_0 conda-forge jupyterhub 0.9.4 py36_1000 conda-forge jupyterlab 0.35.4 py36_0 conda-forge jupyterlab_server 0.2.0 py_0 conda-forge kiwisolver 1.0.1 py36h6bb024c_1002 conda-forge krb5 1.16.3 hc83ff2d_1000 conda-forge libcurl 7.63.0 h01ee5af_1000 conda-forge libedit 3.1.20170329 hf8c457e_1001 conda-forge libffi 3.2.1 hf484d3e_1005 conda-forge libgcc-ng 7.3.0 hdf63c60_0 conda-forge libgfortran 3.0.0 1 conda-forge libgfortran-ng 7.2.0 hdf63c60_3 conda-forge libiconv 1.15 h14c3975_1004 conda-forge libpng 1.6.36 h84994c4_1000 conda-forge libprotobuf 3.6.1 hdbcaa40_1000 conda-forge libsodium 1.0.16 h14c3975_1001 conda-forge libssh2 1.8.0 h1ad7b7a_1003 conda-forge libstdcxx-ng 7.3.0 hdf63c60_0 conda-forge libtiff 4.0.10 h648cc4a_1001 conda-forge libuuid 2.32.1 h14c3975_1000 conda-forge libxcb 1.13 h14c3975_1002 conda-forge libxml2 2.9.8 h143f9aa_1005 conda-forge llvmlite 0.23.0 py36_1 conda-forge make 4.2.1 h14c3975_2004 conda-forge mako 1.0.7 py_1 conda-forge markupsafe 1.1.0 py36h14c3975_1000 conda-forge matplotlib 2.2.3 py36h8e2386c_0 conda-forge mistune 0.8.4 py36h14c3975_1000 conda-forge mpc 1.1.0 hb20f59a_1006 conda-forge mpfr 4.0.1 ha14ba45_1000 conda-forge mpmath 1.1.0 py_0 conda-forge nbconvert 5.3.1 py_1 conda-forge nbformat 4.4.0 py_1 conda-forge ncurses 6.1 hf484d3e_1002 conda-forge networkx 2.2 py_1 conda-forge nodejs 11.7.0 hf484d3e_0 conda-forge notebook 5.7.2 py36_1000 conda-forge numba 0.38.1 py36_0 conda-forge numexpr 2.6.9 py36h637b7d7_1000 conda-forge numpy 1.13.3 py36_blas_openblash1522bff_1201 [blas_openblas] conda-forge olefile 0.46 py_0 conda-forge openblas 0.3.3 h9ac9557_1001 conda-forge openssl 1.0.2p h14c3975_1002 conda-forge packaging 19.0 py_0 conda-forge pamela 1.0.0 py_0 conda-forge pandas 0.23.4 py36h637b7d7_1000 conda-forge pandoc 2.5 1 conda-forge pandocfilters 1.4.2 py_1 conda-forge pango 1.40.14 hf0c64fd_1003 conda-forge parso 0.3.2 py_0 conda-forge patsy 0.5.1 py_0 conda-forge pcre 8.41 hf484d3e_1003 conda-forge pexpect 4.6.0 py36_1000 conda-forge pickleshare 0.7.5 py36_1000 conda-forge pillow 5.4.1 py36h00a061d_1000 conda-forge pip 19.0.1 py36_0 conda-forge pixman 0.34.0 h14c3975_1003 conda-forge prometheus_client 0.5.0 py_0 conda-forge prompt_toolkit 2.0.7 py_0 conda-forge protobuf 3.6.1 py36hf484d3e_1001 conda-forge pthread-stubs 0.4 h14c3975_1001 conda-forge ptyprocess 0.6.0 py36_1000 conda-forge pycosat 0.6.3 py36h14c3975_1001 conda-forge pycparser 2.19 py_0 conda-forge pycurl 7.43.0.2 py36hb7f436b_0 defaults pygments 2.3.1 py_0 conda-forge pyopenssl 18.0.0 py36_1000 conda-forge pyparsing 2.3.1 py_0 conda-forge pyrsistent 0.14.9 py36h14c3975_1000 conda-forge pysocks 1.6.8 py36_1002 conda-forge python 3.6.7 hd21baee_1001 conda-forge python-dateutil 2.7.5 py_0 conda-forge python-editor 1.0.3 py_0 conda-forge python-oauth2 1.0.1 py36_0 conda-forge pytz 2018.9 py_0 conda-forge pywavelets 1.0.1 py36h3010b51_1000 conda-forge pyyaml 3.13 py36h14c3975_1001 conda-forge pyzmq 17.1.2 py36h6afc9c9_1001 conda-forge r-assertthat 0.2.0 r351h6115d3f_1001 conda-forge r-backports 1.1.3 r351h96ca727_1000 conda-forge r-base 3.5.1 he45234b_1005 conda-forge r-base64enc 0.1_3 r351h96ca727_1002 conda-forge r-bh 1.69.0_1 r351h6115d3f_0 conda-forge r-bindr 0.1.1 r351h6115d3f_1001 conda-forge r-bindrcpp 0.2.2 r351h29659fb_1001 conda-forge r-bit 1.1_12 r351h14c3975_1002 conda-forge r-bit64 0.9_7 r351h96ca727_1000 conda-forge r-bitops 1.0_6 r351h96ca727_1002 conda-forge r-blob 1.1.1 r351_1001 conda-forge r-broom 0.5.1 r351h6115d3f_1000 conda-forge r-callr 3.1.1 r351h6115d3f_1000 conda-forge r-caret 6.0_81 r351h96ca727_1000 conda-forge r-cellranger 1.1.0 r351h6115d3f_1001 conda-forge r-class 7.3_15 r351h96ca727_1000 conda-forge r-cli 1.0.1 r351h6115d3f_1000 conda-forge r-clipr 0.5.0 r351h6115d3f_0 conda-forge r-codetools 0.2_16 r351h6115d3f_1000 conda-forge r-colorspace 1.4_0 r351h96ca727_0 conda-forge r-config 0.3 r351h6115d3f_1001 conda-forge r-crayon 1.3.4 r351h6115d3f_1001 conda-forge r-curl 3.3 r351h96ca727_0 conda-forge r-dbi 1.0.0 r351h6115d3f_1001 conda-forge r-dbplyr 1.3.0 r351h6115d3f_1000 conda-forge r-devtools 1.13.6 r351h6115d3f_1 conda-forge r-digest 0.6.18 r351h96ca727_1000 conda-forge r-dplyr 0.7.8 r351h29659fb_1000 conda-forge r-evaluate 0.12 r351h6115d3f_1000 conda-forge r-fansi 0.4.0 r351h96ca727_1000 conda-forge r-forcats 0.3.0 r351h6115d3f_1001 conda-forge r-foreach 1.4.4 r351h6115d3f_1001 conda-forge r-forecast 8.2 r351hf484d3e_1001 conda-forge r-forge 0.1.0 r351h6115d3f_1000 conda-forge r-fracdiff 1.4_2 r351h96ca727_1002 conda-forge r-fs 1.2.6 r351h29659fb_1000 conda-forge r-generics 0.0.2 r351h6115d3f_1001 conda-forge r-ggplot2 3.1.0 r351h6115d3f_1000 conda-forge r-git2r 0.24.0 r351h47c54a8_0 conda-forge r-glue 1.3.0 r351h14c3975_1002 conda-forge r-gower 0.1.2 r351h96ca727_1002 conda-forge r-gtable 0.2.0 r351h6115d3f_1001 conda-forge r-haven 2.0.0 r351h29659fb_1000 conda-forge r-hexbin 1.27.2 r351ha65eedd_1002 conda-forge r-highr 0.7 r351h6115d3f_1001 conda-forge r-hms 0.4.2 r351h6115d3f_1000 conda-forge r-htmltools 0.3.6 r351hf484d3e_1002 conda-forge r-htmlwidgets 1.2 r351h6115d3f_1000 conda-forge r-httpuv 1.4.5.1 r351hf484d3e_1000 conda-forge r-httr 1.4.0 r351h6115d3f_1000 conda-forge r-ipred 0.9_8 r351h96ca727_1000 conda-forge r-irdisplay 0.7 r351_1000 conda-forge r-irkernel 0.8.15 r351h6115d3f_1001 conda-forge r-iterators 1.0.10 r351h6115d3f_1001 conda-forge r-jsonlite 1.6 r351h96ca727_1000 conda-forge r-kernsmooth 2.23_15 r351ha65eedd_1002 conda-forge r-knitr 1.21 r351h6115d3f_1000 conda-forge r-labeling 0.3 r351h6115d3f_1001 conda-forge r-later 0.7.5 r351h29659fb_1000 conda-forge r-lattice 0.20_38 r351h96ca727_1000 conda-forge r-lava 1.6.4 r351h6115d3f_1000 conda-forge r-lazyeval 0.2.1 r351h96ca727_1002 conda-forge r-lmtest 0.9_36 r351ha65eedd_1000 conda-forge r-lubridate 1.7.4 r351h29659fb_1001 conda-forge r-magrittr 1.5 r351h6115d3f_1001 conda-forge r-markdown 0.9 r351h96ca727_1000 conda-forge r-mass 7.3_51.1 r351h96ca727_1000 conda-forge r-matrix 1.2_15 r351h96ca727_1000 conda-forge r-memoise 1.1.0 r351h6115d3f_1001 conda-forge r-mgcv 1.8_26 r351h96ca727_1000 conda-forge r-mime 0.6 r351h96ca727_1000 conda-forge r-modelmetrics 1.1.0 r351h29659fb_1002 conda-forge r-modelr 0.1.2 r351h6115d3f_1001 conda-forge r-munsell 0.5.0 r351h6115d3f_1001 conda-forge r-nlme 3.1_137 r351ha65eedd_1000 conda-forge r-nnet 7.3_12 r351h96ca727_1002 conda-forge r-numderiv 2016.8_1 r351h6115d3f_1001 conda-forge r-nycflights13 1.0.0 r351_1000 conda-forge r-openssl 1.1 r351hff1dc39_1000 conda-forge r-pbdzmq 0.3_3 r351h193a840_1000 conda-forge r-pillar 1.3.1 r351h6115d3f_1000 conda-forge r-pkgconfig 2.0.2 r351h6115d3f_1001 conda-forge r-plogr 0.2.0 r351h6115d3f_1001 conda-forge r-plyr 1.8.4 r351h29659fb_1002 conda-forge r-prettyunits 1.0.2 r351h6115d3f_1001 conda-forge r-processx 3.2.1 r351h96ca727_1000 conda-forge r-prodlim 2018.04.18 r351h29659fb_1002 conda-forge r-progress 1.2.0 r351h6115d3f_1002 conda-forge r-promises 1.0.1 r351h29659fb_1000 conda-forge r-ps 1.3.0 r351h96ca727_1000 conda-forge r-purrr 0.2.5 r351h96ca727_1002 conda-forge r-quadprog 1.5_5 r351ha65eedd_1002 conda-forge r-quantmod 0.4_13 r351h6115d3f_1000 conda-forge r-r2d3 0.2.3 r351h6115d3f_1000 conda-forge r-r6 2.3.0 r351h6115d3f_1000 conda-forge r-randomforest 4.6_14 r351ha65eedd_1000 conda-forge r-rappdirs 0.3.1 r351h96ca727_1002 conda-forge r-rcolorbrewer 1.1_2 r351h6115d3f_1001 conda-forge r-rcpp 1.0.0 r351h29659fb_1000 conda-forge r-rcpparmadillo 0.9.100.5.0 r351h29659fb_1000 conda-forge r-rcpproll 0.3.0 r351h29659fb_1000 conda-forge r-rcurl 1.95_4.11 r351h96ca727_1003 conda-forge r-readr 1.3.1 r351h29659fb_1000 conda-forge r-readxl 1.2.0 r351h29659fb_1000 conda-forge r-recipes 0.1.4 r351h6115d3f_1000 conda-forge r-rematch 1.0.1 r351h6115d3f_1001 conda-forge r-repr 0.19.1 r351h6115d3f_1000 conda-forge r-reprex 0.2.1 r351h6115d3f_1000 conda-forge r-reshape2 1.4.3 r351h29659fb_1003 conda-forge r-rlang 0.3.1 r351h96ca727_0 conda-forge r-rmarkdown 1.11 r351h6115d3f_1000 conda-forge r-rpart 4.1_13 r351h96ca727_1002 conda-forge r-rprojroot 1.3_2 r351h6115d3f_1001 conda-forge r-rsqlite 2.1.1 r351h29659fb_1000 conda-forge r-rstudioapi 0.9.0 r351h6115d3f_0 conda-forge r-rvest 0.3.2 r351h6115d3f_1001 conda-forge r-scales 1.0.0 r351h29659fb_1001 conda-forge r-selectr 0.4_1 r351h6115d3f_1000 conda-forge r-shiny 1.2.0 r351_1000 conda-forge r-sourcetools 0.1.7 r351hf484d3e_1000 conda-forge r-sparklyr 0.9.4 r351h6115d3f_0 conda-forge r-squarem 2017.10_1 r351h6115d3f_1001 conda-forge r-stringi 1.2.4 r351h29659fb_1001 conda-forge r-stringr 1.3.1 r351h6115d3f_1001 conda-forge r-survival 2.43_3 r351h96ca727_1000 conda-forge r-tibble 2.0.1 r351h96ca727_0 conda-forge r-tidyr 0.8.2 r351h29659fb_1002 conda-forge r-tidyselect 0.2.5 r351h29659fb_1000 conda-forge r-tidyverse 1.2.1 r351h6115d3f_1001 conda-forge r-timedate 3043.102 r351h6115d3f_1000 conda-forge r-tinytex 0.10 r351h6115d3f_0 conda-forge r-tseries 0.10_46 r351h9ac9557_1000 conda-forge r-ttr 0.23_4 r351ha65eedd_1000 conda-forge r-utf8 1.1.4 r351h96ca727_1000 conda-forge r-uuid 0.1_2 r351h96ca727_1001 conda-forge r-viridislite 0.3.0 r351h6115d3f_1001 conda-forge r-whisker 0.3_2 r351h6115d3f_1001 conda-forge r-withr 2.1.2 r351h6115d3f_1000 conda-forge r-xfun 0.4 r351h6115d3f_1000 conda-forge r-xml2 1.2.0 r351h29659fb_1002 conda-forge r-xtable 1.8_3 r351_2000 conda-forge r-xts 0.11_1 r351h96ca727_1000 conda-forge r-yaml 2.2.0 r351h96ca727_1001 conda-forge r-zoo 1.8_4 r351h96ca727_1000 conda-forge readline 7.0 hf8c457e_1001 conda-forge requests 2.21.0 py36_1000 conda-forge rpy2 2.9.4 py36r351h941a26a_1 conda-forge ruamel_yaml 0.15.71 py36h14c3975_1000 conda-forge scikit-image 0.14.2 py36hf484d3e_0 conda-forge scikit-learn 0.20.2 py36_blas_openblashebff5e3_1400 [blas_openblas] conda-forge scipy 1.1.0 py36_blas_openblash1522bff_1202 [blas_openblas] conda-forge seaborn 0.9.0 py_0 conda-forge send2trash 1.5.0 py_0 conda-forge setuptools 40.7.0 py36_0 conda-forge sip 4.18.1 py36hf484d3e_1000 conda-forge six 1.12.0 py36_1000 conda-forge sqlalchemy 1.2.16 py36h14c3975_1000 conda-forge sqlite 3.26.0 h67949de_1000 conda-forge statsmodels 0.9.0 py36h3010b51_1000 conda-forge sympy 1.1.1 py36_0 conda-forge terminado 0.8.1 py36_1001 conda-forge testpath 0.4.2 py36_1000 conda-forge tini 0.18.0 h14c3975_1001 conda-forge tk 8.6.9 h84994c4_1000 conda-forge tktable 2.10 h14c3975_0 defaults toolz 0.9.0 py_1 conda-forge tornado 5.1.1 py36h14c3975_1000 conda-forge traitlets 4.3.2 py36_1000 conda-forge tzlocal 1.5.1 py_0 conda-forge urllib3 1.24.1 py36_1000 conda-forge vincent 0.4.4 py_1 conda-forge wcwidth 0.1.7 py_1 conda-forge webencodings 0.5.1 py_1 conda-forge wheel 0.32.3 py36_0 conda-forge widgetsnbextension 3.4.2 py36_1000 conda-forge xlrd 1.2.0 py_0 conda-forge xorg-kbproto 1.0.7 h14c3975_1002 conda-forge xorg-libice 1.0.9 h14c3975_1004 conda-forge xorg-libsm 1.2.3 h4937e3b_1000 conda-forge xorg-libx11 1.6.6 h14c3975_1000 conda-forge xorg-libxau 1.0.8 h14c3975_1006 conda-forge xorg-libxdmcp 1.1.2 h14c3975_1007 conda-forge xorg-libxext 1.3.3 h14c3975_1004 conda-forge xorg-libxrender 0.9.10 h14c3975_1002 conda-forge xorg-renderproto 0.11.1 h14c3975_1002 conda-forge xorg-xextproto 7.3.0 h14c3975_1002 conda-forge xorg-xproto 7.0.31 h14c3975_1007 conda-forge xz 5.2.4 h14c3975_1001 conda-forge yaml 0.1.7 h14c3975_1001 conda-forge zeromq 4.2.5 hf484d3e_1006 conda-forge zlib 1.2.11 h14c3975_1004 conda-forge ```


Details about conda and system ( conda info ):

``` $ conda info active environment : None user config file : /home/waskd6/.condarc populated config files : /opt/conda/.condarc conda version : 4.6.1 conda-build version : not installed python version : 3.6.7.final.0 base environment : /opt/conda (writable) channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/free/linux-64 https://repo.anaconda.com/pkgs/free/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /opt/conda/pkgs /home/waskd6/.conda/pkgs envs directories : /opt/conda/envs /home/waskd6/.conda/envs platform : linux-64 user-agent : conda/4.6.1 requests/2.21.0 CPython/3.6.7 Linux/3.10.0-957.1.3.el7.x86_64 ubuntu/18.04.1 glibc/2.27 UID:GID : 848809:848809 netrc file : None offline mode : False ```


Using rgdal as an example (r-rgdal is broken in main right now, don't get me started):

``` R version 3.5.1 (2018-07-02) -- "Feather Spray" Copyright (C) 2018 The R Foundation for Statistical Computing Platform: x86_64-conda_cos6-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > install.packages("rgdal", repos="https://cran.rstudio.com/") configure: R_HOME: /opt/conda/lib/R configure: CC: x86_64-conda_cos6-linux-gnu-cc configure: CXX: x86_64-conda_cos6-linux-gnu-c++ configure: C++11 support available configure: rgdal: 1.3-6 checking for /usr/bin/svnversion... no configure: svn revision: 773 checking for gdal-config... /usr/bin/gdal-config checking gdal-config usability... yes configure: GDAL: 2.2.3 checking GDAL version >= 1.11.4... yes checking gdal: linking with --libs only... no checking gdal: linking with --libs and --dep-libs... no /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libarmadillo.so.8, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libproj.so.12, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libpoppler.so.73, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libjson-c.so.3, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libfreexl.so.1, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libqhull.so.7, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libgeos_c.so.1, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libwebp.so.6, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libepsilon.so.1, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libodbc.so.2, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libodbcinst.so.2, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libkmlbase.so.1, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libkmldom.so.1, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libkmlengine.so.1, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libxerces-c-3.2.so, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libopenjp2.so.7, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) /opt/conda/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: warning: libnetcdf.so.13, needed by /usr/lib/libgdal.so, not found (try using -rpath or -rpath-link) . . . /usr/lib/libgdal.so: undefined reference to `opj_read_header' /usr/lib/libgdal.so: undefined reference to `HO_TestSOSI(char const*, long*)' /usr/lib/libgdal.so: undefined reference to `nc_get_var1_ulonglong' /usr/lib/libgdal.so: undefined reference to `sqlite3_bind_int' /usr/lib/libgdal.so: undefined reference to `PQresultStatus' /usr/lib/libgdal.so: undefined reference to `GEOSSymDifference_r' /usr/lib/libgdal.so: undefined reference to `TIFFCreateDirectory@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to `TIFFReadScanline@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to `kmlengine::Href::Parse(std::__cxx11::basic_string , std::allocator > const&)' /usr/lib/libgdal.so: undefined reference to `PQgetvalue' /usr/lib/libgdal.so: undefined reference to `nc_inq_unlimdim' /usr/lib/libgdal.so: undefined reference to `xercesc_3_2::XSComplexTypeDefinition::getDerivationMethod() const' /usr/lib/libgdal.so: undefined reference to `xercesc_3_2::XMLUni::fgXercesSchemaFullChecking' /usr/lib/libgdal.so: undefined reference to `PQclear' /usr/lib/libgdal.so: undefined reference to `sqlite3_column_blob' /usr/lib/libgdal.so: undefined reference to `opj_set_decode_area' /usr/lib/libgdal.so: undefined reference to `SQLFetchScroll' /usr/lib/libgdal.so: undefined reference to `kmldom::AsPlacemark(boost::intrusive_ptr)' /usr/lib/libgdal.so: undefined reference to `nc_get_att_uint' . . . collect2: error: ld returned 1 exit status configure: Install failure: compilation and/or linkage problems. ```

It goes on for a couple dozen kB like that

Switching to r-base=3.5.1=h391c2eb_5 fixes the issue and gives the following delta to the env:

``` ## Package Plan ## environment location: /opt/conda added / updated specs: - r-base==3.5.1=h391c2eb_5 The following packages will be downloaded: package | build ---------------------------|----------------- gsl-2.2.1 |blas_openblashddceaf2_6 2.1 MB conda-forge r-base-3.5.1 | h391c2eb_5 37.6 MB conda-forge ------------------------------------------------------------ Total: 39.8 MB The following NEW packages will be INSTALLED: gsl conda-forge/linux-64::gsl-2.2.1-blas_openblashddceaf2_6 The following packages will be DOWNGRADED: r-base 3.5.1-he45234b_1005 --> 3.5.1-h391c2eb_5 ```


And the build works!

``` R version 3.5.1 (2018-07-02) -- "Feather Spray" Copyright (C) 2018 The R Foundation for Statistical Computing Platform: x86_64-conda_cos6-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > install.packages("rgdal", repos="https://cran.rstudio.com/") trying URL 'https://cran.rstudio.com/src/contrib/rgdal_1.3-6.tar.gz' Content type 'application/x-gzip' length 1666975 bytes (1.6 MB) ================================================== downloaded 1.6 MB * installing *source* package ‘rgdal’ ... ** package ‘rgdal’ successfully unpacked and MD5 sums checked configure: R_HOME: /opt/conda/lib/R configure: CC: gcc -std=gnu99 configure: CXX: g++ configure: C++11 support available configure: rgdal: 1.3-6 checking for /usr/bin/svnversion... no configure: svn revision: 773 checking for gdal-config... /usr/bin/gdal-config checking gdal-config usability... yes configure: GDAL: 2.2.3 checking GDAL version >= 1.11.4... yes checking gdal: linking with --libs only... no checking gdal: linking with --libs and --dep-libs... yes checking GDAL: /usr/share/gdal/2.2/pcs.csv readable... yes configure: pkg-config proj exists, will use it configure: PROJ version: 4.9.3 checking proj_api.h presence and usability... yes checking PROJ version >= 4.8.0... yes checking projects.h presence and usability... yes checking PROJ.4: epsg found and readable... yes checking PROJ.4: conus found and readable... yes configure: Package CPP flags: -I/usr/include/gdal configure: Package LIBS: -L/usr/lib -lgdal -larmadillo -lproj -lpoppler -ljson-c -L/usr/lib -lfreexl -lqhull -lqhull -L/usr/lib/x86_64-linux-gnu -lgeos_c -lwebp -L/usr/lib -lepsilon -lodbc -lodbcinst -lkmlbase -lkmldom -lkmlengine -lkmlxsd -lkmlregionator -lexpat -lxerces-c -lpthread -lopenjp2 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/hdf5/serial -lnetcdf -lhdf5_hl -lhdf5 -lpthread -lsz -lz -ldl -lm -lcurl -L/usr/lib/x86_64-linux-gnu/hdf5/serial/lib -lhdf5 -lmfhdfalt -ldfalt -logdi -lgif -ljpeg -lgeotiff -ltiff -lpng -L/usr/lib/x86_64-linux-gnu -lpq -llzma -lz -lpthread -lm -lrt -ldl -ldapclient -ldapserver -ldap -L/usr/lib -lspatialite -lpcre -lcurl -lfyba -lfygm -lfyut -lxml2 -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -latomic -ldl -lproj configure: creating ./config.status config.status: creating src/Makevars ** libs g++ -std=gnu++11 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC -c OGR_write.cpp -o OGR_write.o g++ -std=gnu++11 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC -c gdal-bindings.cpp -o gdal-bindings.o gcc -std=gnu99 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -m64 -fPIC -c init.c -o init.o gcc -std=gnu99 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -m64 -fPIC -c inverser.c -o inverser.o gcc -std=gnu99 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -m64 -fPIC -c local_stubs.c -o local_stubs.o g++ -std=gnu++11 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC -c ogr_geom.cpp -o ogr_geom.o gcc -std=gnu99 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -m64 -fPIC -c ogr_polygons.c -o ogr_polygons.o g++ -std=gnu++11 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC -c ogr_proj.cpp -o ogr_proj.o g++ -std=gnu++11 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC -c ogrdrivers.cpp -o ogrdrivers.o g++ -std=gnu++11 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC -c ogrsource.cpp -o ogrsource.o g++ -std=gnu++11 -I"/opt/conda/lib/R/include" -DNDEBUG -I/usr/include/gdal -I"/opt/conda/lib/R/library/sp/include" -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib -fpic -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC -c projectit.cpp -o projectit.o g++ -std=gnu++11 -shared -L/opt/conda/lib/R/lib -Wl,-rpath,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib -o rgdal.so OGR_write.o gdal-bindings.o init.o inverser.o local_stubs.o ogr_geom.o ogr_polygons.o ogr_proj.o ogrdrivers.o ogrsource.o projectit.o -L/usr/lib -lgdal -larmadillo -lproj -lpoppler -ljson-c -L/usr/lib -lfreexl -lqhull -lqhull -L/usr/lib/x86_64-linux-gnu -lgeos_c -lwebp -L/usr/lib -lepsilon -lodbc -lodbcinst -lkmlbase -lkmldom -lkmlengine -lkmlxsd -lkmlregionator -lexpat -lxerces-c -lpthread -lopenjp2 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/hdf5/serial -lnetcdf-lhdf5_hl -lhdf5 -lpthread -lsz -lz -ldl -lm -lcurl -L/usr/lib/x86_64-linux-gnu/hdf5/serial/lib -lhdf5 -lmfhdfalt -ldfalt -logdi -lgif -ljpeg -lgeotiff -ltiff -lpng -L/usr/lib/x86_64-linux-gnu -lpq -llzma -lz -lpthread -lm -lrt -ldl -ldapclient -ldapserver -ldap -L/usr/lib -lspatialite -lpcre -lcurl -lfyba -lfygm -lfyut -lxml2 -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -latomic -ldl -lproj -L/opt/conda/lib/R/lib -lR installing to /opt/conda/lib/R/library/rgdal/libs ** R ** data ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** testing if installed package can be loaded * DONE (rgdal) The downloaded source packages are in ‘/tmp/RtmposG5Ml/downloaded_packages’ Updating HTML index of packages in '.Library' Making 'packages.html' ... done ```


I'm pretty new to anaconda, so I may just be misunderstanding something, but this seems bad. Here are the Makeconfs, which are probably key:


r-base=3.5.1=he45234b_1005

``` # etc/Makeconf. Generated from Makeconf.in by configure. # # ${R_HOME}/etc/Makeconf # # R was configured using the following call # (not including env. vars and site configuration) # configure '--prefix=/opt/conda' '--host=x86_64-conda_cos6-linux-gnu' '--build=x86_64-conda_cos6-linux-gnu' '--enable-shared' '--enable-R-shlib' '--enable-BLAS-shlib' '--disable-prebuilt-html' '--enable-memory-profiling' '--with-tk-config=/opt/conda/lib/tkConfig.sh' '--with-tcl-config=/opt/conda/lib/tclConfig.sh' '--with-x' '--with-pic' '--with-cairo' '--with-readline' '--with-recommended-packages=no' '--without-libintl-prefix' 'LIBnn=lib' 'build_alias=x86_64-conda_cos6-linux-gnu' 'host_alias=x86_64-conda_cos6-linux-gnu' 'PKG_CONFIG_PATH=/opt/conda/lib/pkgconfig' 'CC=x86_64-conda_cos6-linux-gnu-cc' 'CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix' 'LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,-rpath,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib' 'CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -I/opt/conda/include-Wl,-rpath-link,/opt/conda/lib' 'CPP=/home/conda/feedstock_root/build_artifacts/r-base_1544256230819/_build_env/bin/x86_64-conda_cos6-linux-gnu-cpp' 'F77=x86_64-conda_cos6-linux-gnu-gfortran' 'FFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix' 'CXX=x86_64-conda_cos6-linux-gnu-c++' 'CXXFLAGS=-fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix' 'OBJC=x86_64-conda_cos6-linux-gnu-cc' 'FC=x86_64-conda_cos6-linux-gnu-gfortran' ## This fails if it contains spaces, or if it is quoted include $(R_SHARE_DIR)/make/vars.mk AR = x86_64-conda_cos6-linux-gnu-ar BLAS_LIBS = -L"$(R_HOME)/lib$(R_ARCH)" -lRblas C_VISIBILITY = -fvisibility=hidden CC = x86_64-conda_cos6-linux-gnu-cc CFLAGS = -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix $(LTO) CPICFLAGS = -fpic CPPFLAGS = -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib CXX = x86_64-conda_cos6-linux-gnu-c++ CXXCPP = $(CXX) -E CXXFLAGS = -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix $(LTO) CXXPICFLAGS = -fpic CXX98 = x86_64-conda_cos6-linux-gnu-c++ CXX98FLAGS = -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix CXX98PICFLAGS = -fpic CXX98STD = -std=gnu++98 CXX11 = x86_64-conda_cos6-linux-gnu-c++ CXX11FLAGS = -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix CXX11PICFLAGS = -fpic CXX11STD = -std=gnu++11 CXX14 = x86_64-conda_cos6-linux-gnu-c++ CXX14FLAGS = -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix CXX14PICFLAGS = -fpic CXX14STD = -std=gnu++14 CXX17 = x86_64-conda_cos6-linux-gnu-c++ CXX17FLAGS = -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix CXX17PICFLAGS = -fpic CXX17STD = -std=gnu++17 DYLIB_EXT = .so DYLIB_LD = $(CC) DYLIB_LDFLAGS = -shared -fopenmp# $(CFLAGS) $(CPICFLAGS) DYLIB_LINK = $(DYLIB_LD) $(DYLIB_LDFLAGS) $(LDFLAGS) ECHO = echo ECHO_C = ECHO_N = -n ECHO_T = ## NB, set FC before F77 as on Solaris make, setting FC sets F77 FC = x86_64-conda_cos6-linux-gnu-gfortran FCFLAGS = -g -O2 $(LTO) ## additional libs needed when linking with $(FC), e.g. on some Oracle compilers FCLIBS = F77 = x86_64-conda_cos6-linux-gnu-gfortran F77_VISIBILITY = -fvisibility=hidden FFLAGS = -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix $(LTO) FLIBS = -lgfortran -lm -lgomp -lquadmath -lpthread FCPICFLAGS = -fpic FPICFLAGS = -fpic FOUNDATION_CPPFLAGS = FOUNDATION_LIBS = JAR = JAVA = JAVAC = JAVAH = ## JAVA_HOME might be used in the next three. ## They are for packages 'JavaGD' and 'rJava' JAVA_HOME = JAVA_CPPFLAGS = JAVA_LIBS = JAVA_LD_LIBRARY_PATH = LAPACK_LIBS = -L"$(R_HOME)/lib$(R_ARCH)" -lRlapack ## we only need this is if it is external, as otherwise link to R LIBINTL= LIBM = -lm LIBR0 = -L"$(R_HOME)/lib$(R_ARCH)" LIBR1 = -lR LIBR = -L"$(R_HOME)/lib$(R_ARCH)" -lR LIBS = -lpcre -llzma -lbz2 -lz -lrt -ldl -lm -liconv -licuuc -licui18n ## needed by R CMD config LIBnn = lib LIBTOOL = $(SHELL) "$(R_HOME)/bin/libtool" LDFLAGS = -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,-rpath,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib LTO = ## needed to build applications linking to static libR MAIN_LD = $(CC) MAIN_LDFLAGS = -Wl,--export-dynamic -fopenmp RPATH_LDFLAGS = -Wl,-rpath,$(abs_top_builddir)/lib -Wl,-rpath,/opt/conda/lib MAIN_LINK = $(MAIN_LD) $(MAIN_LDFLAGS) $(LDFLAGS) $(RPATH_LDFLAGS) MKINSTALLDIRS = "$(R_HOME)/bin/mkinstalldirs" OBJC = x86_64-conda_cos6-linux-gnu-cc OBJCFLAGS = -g -O2 -fobjc-exceptions $(LTO) OBJC_LIBS = OBJCXX = R_ARCH = RANLIB = x86_64-conda_cos6-linux-gnu-ranlib SAFE_FFLAGS = -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix -msse2 -mfpmath=sse SED = /bin/sed SHELL = /bin/sh SHLIB_CFLAGS = SHLIB_CXXFLAGS = SHLIB_CXXLD = $(CXX) SHLIB_CXXLDFLAGS = -shared SHLIB_CXX98LD = $(CXX98) $(CXX98STD) SHLIB_CXX98LDFLAGS = -shared SHLIB_CXX11LD = $(CXX11) $(CXX11STD) SHLIB_CXX11LDFLAGS = -shared SHLIB_CXX14LD = $(CXX14) $(CXX14STD) SHLIB_CXX14LDFLAGS = -shared SHLIB_CXX17LD = $(CXX17) $(CXX17STD) SHLIB_CXX17LDFLAGS = -shared SHLIB_EXT = .so SHLIB_FCLD = $(FC) SHLIB_FCLDFLAGS = -shared SHLIB_FFLAGS = SHLIB_LD = $(CC) SHLIB_LDFLAGS = -shared# $(CFLAGS) $(CPICFLAGS) SHLIB_LIBADD = ## We want to ensure libR is picked up from $(R_HOME)/lib ## before e.g. /usr/local/lib if a version is already installed. SHLIB_LINK = $(SHLIB_LD) $(SHLIB_LDFLAGS) $(LIBR0) $(LDFLAGS) SHLIB_OPENMP_CFLAGS = -fopenmp SHLIB_OPENMP_CXXFLAGS = -fopenmp SHLIB_OPENMP_FCFLAGS = -fopenmp SHLIB_OPENMP_FFLAGS = STRIP_LIBS = x86_64-conda_cos6-linux-gnu-strip --strip-unneeded STRIP_STATIC_LIBS = x86_64-conda_cos6-linux-gnu-strip --strip-debug TCLTK_CPPFLAGS = -I/opt/conda/include -I/opt/conda/include TCLTK_LIBS = -L/opt/conda/lib -ltcl8.6 -L/opt/conda/lib -ltk8.6 -lX11 YACC = yacc ## legacy CXX1X = x86_64-conda_cos6-linux-gnu-c++ CXX1XFLAGS = -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe -I/opt/conda/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix CXX1XPICFLAGS = -fpic CXX1XSTD = -std=gnu++11 SHLIB_CXX1XLD = $(CXX11) $(CXX11STD) SHLIB_CXX1XLDFLAGS = -shared ## for linking to libR.a STATIC_LIBR = # -Wl,--whole-archive "$(R_HOME)/lib$(R_ARCH)/libR.a" -Wl,--no-whole-archive $(BLAS_LIBS) $(FLIBS) $(LIBINTL) -lreadline $(LIBS) R_XTRA_CFLAGS = R_XTRA_CPPFLAGS = -I"$(R_INCLUDE_DIR)" -DNDEBUG R_XTRA_CXXFLAGS = R_XTRA_FFLAGS = ALL_CFLAGS = $(R_XTRA_CFLAGS) $(PKG_CFLAGS) $(CPICFLAGS) $(SHLIB_CFLAGS) $(CFLAGS) ALL_CPPFLAGS = $(R_XTRA_CPPFLAGS) $(PKG_CPPFLAGS) $(CLINK_CPPFLAGS) $(CPPFLAGS) ALL_CXXFLAGS = $(R_XTRA_CXXFLAGS) $(PKG_CXXFLAGS) $(CXXPICFLAGS) $(SHLIB_CXXFLAGS) $(CXXFLAGS) ALL_OBJCFLAGS = $(PKG_OBJCFLAGS) $(CPICFLAGS) $(SHLIB_CFLAGS) $(OBJCFLAGS) ALL_OBJCXXFLAGS = $(PKG_OBJCXXFLAGS) $(CXXPICFLAGS) $(SHLIB_CXXFLAGS) $(OBJCXXFLAGS) ALL_FFLAGS = $(R_XTRA_FFLAGS) $(PKG_FFLAGS) $(FPICFLAGS) $(SHLIB_FFLAGS) $(FFLAGS) ## LIBR here as a couple of packages use this without SHLIB_LINK ALL_LIBS = $(PKG_LIBS) $(SHLIB_LIBADD) $(LIBR)# $(LIBINTL) .SUFFIXES: .SUFFIXES: .c .cc .cpp .d .f .f90 .f95 .m .mm .M .o .c.o: $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c $< -o $@ .c.d: @echo "making $@ from $<" @$(CC) -MM $(ALL_CPPFLAGS) $< > $@ .cc.o: $(CXX) $(ALL_CPPFLAGS) $(ALL_CXXFLAGS) -c $< -o $@ .cpp.o: $(CXX) $(ALL_CPPFLAGS) $(ALL_CXXFLAGS) -c $< -o $@ .cc.d: @echo "making $@ from $<" @$(CXX) -M $(ALL_CPPFLAGS) $< > $@ .cpp.d: @echo "making $@ from $<" @$(CXX) -M $(ALL_CPPFLAGS) $< > $@ .m.o: $(OBJC) $(ALL_CPPFLAGS) $(ALL_OBJCFLAGS) -c $< -o $@ .m.d: @echo "making $@ from $<" @x86_64-conda_cos6-linux-gnu-cc -MM $(ALL_CPPFLAGS) $< > $@ .mm.o: $(OBJCXX) $(ALL_CPPFLAGS) $(ALL_OBJCXXFLAGS) -c $< -o $@ .M.o: $(OBJCXX) $(ALL_CPPFLAGS) $(ALL_OBJCXXFLAGS) -c $< -o $@ .f.o: $(F77) $(ALL_FFLAGS) -c $< -o $@ .f95.o: $(FC) $(PKG_FCFLAGS) $(FCPICFLAGS) $(FCFLAGS) -c $< -o $@ .f90.o: $(FC) $(PKG_FCFLAGS) $(FCPICFLAGS) $(FCFLAGS) -c $< -o $@ ```


r-base=3.5.1=h391c2eb_5

``` # etc/Makeconf. Generated from Makeconf.in by configure. # # ${R_HOME}/etc/Makeconf # # R was configured using the following call # (not including env. vars and site configuration) # configure '--prefix=/opt/conda' '--host=' '--build=x86_64-conda_cos6-linux-gnu' '--enable-shared' '--enable-R-shlib' '--enable-BLAS-shlib' '--disable-prebuilt-html' '--enable-memory-profiling' '--with-tk-config=/opt/conda/lib/tkConfig.sh' '--with-tcl-config=/opt/conda/lib/tclConfig.sh' '--with-x' '--with-pic' '--with-cairo' '--with-readline' '--with-recommended-packages=no' '--without-libintl-prefix' 'LIBnn=lib' 'build_alias=x86_64-conda_cos6-linux-gnu' 'host_alias=' 'PKG_CONFIG_PATH=/opt/conda/lib/pkgconfig' 'CC=gcc' 'CFLAGS= -m64 -fPIC' 'LDFLAGS= -Wl,-rpath,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib' 'CPPFLAGS= -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib' 'F77=gfortran' 'CXX=g++' 'CXXFLAGS= -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC' 'OBJC=gcc' 'FC=gfortran' ## This fails if it contains spaces, or if it is quoted include $(R_SHARE_DIR)/make/vars.mk AR = ar BLAS_LIBS = -L"$(R_HOME)/lib$(R_ARCH)" -lRblas C_VISIBILITY = -fvisibility=hidden CC = gcc -std=gnu99 CFLAGS = -m64 -fPIC $(LTO) CPICFLAGS = -fpic CPPFLAGS = -I/opt/conda/include -Wl,-rpath-link,/opt/conda/lib CXX = g++ CXXCPP = $(CXX) -E CXXFLAGS = -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC $(LTO) CXXPICFLAGS = -fpic CXX98 = g++ CXX98FLAGS = -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC CXX98PICFLAGS = -fpic CXX98STD = -std=gnu++98 CXX11 = g++ CXX11FLAGS = -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC CXX11PICFLAGS = -fpic CXX11STD = -std=gnu++11 CXX14 = CXX14FLAGS = CXX14PICFLAGS = CXX14STD = CXX17 = CXX17FLAGS = CXX17PICFLAGS = CXX17STD = DYLIB_EXT = .so DYLIB_LD = $(CC) DYLIB_LDFLAGS = -shared -fopenmp# $(CFLAGS) $(CPICFLAGS) DYLIB_LINK = $(DYLIB_LD) $(DYLIB_LDFLAGS) $(LDFLAGS) ECHO = echo ECHO_C = ECHO_N = -n ECHO_T = ## NB, set FC before F77 as on Solaris make, setting FC sets F77 FC = gfortran FCFLAGS = -g -O2 $(LTO) ## additional libs needed when linking with $(FC), e.g. on some Oracle compilers FCLIBS = F77 = gfortran F77_VISIBILITY = -fvisibility=hidden FFLAGS = -g -O2 $(LTO) FLIBS = -lgfortran -lm -lquadmath FCPICFLAGS = -fpic FPICFLAGS = -fpic FOUNDATION_CPPFLAGS = FOUNDATION_LIBS = JAR = JAVA = JAVAC = JAVAH = ## JAVA_HOME might be used in the next three. ## They are for packages 'JavaGD' and 'rJava' JAVA_HOME = JAVA_CPPFLAGS = JAVA_LIBS = JAVA_LD_LIBRARY_PATH = LAPACK_LIBS = -L"$(R_HOME)/lib$(R_ARCH)" -lRlapack ## we only need this is if it is external, as otherwise link to R LIBINTL= LIBM = -lm LIBR0 = -L"$(R_HOME)/lib$(R_ARCH)" LIBR1 = -lR LIBR = -L"$(R_HOME)/lib$(R_ARCH)" -lR LIBS = -lpcre -llzma -lbz2 -lz -lrt -ldl -lm -liconv -licuuc -licui18n ## needed by R CMD config LIBnn = lib LIBTOOL = $(SHELL) "$(R_HOME)/bin/libtool" LDFLAGS = -Wl,-rpath,/opt/conda/lib -L/opt/conda/lib -Wl,-rpath-link,/opt/conda/lib LTO = ## needed to build applications linking to static libR MAIN_LD = $(CC) MAIN_LDFLAGS = -Wl,--export-dynamic -fopenmp RPATH_LDFLAGS = -Wl,-rpath,$(abs_top_builddir)/lib -Wl,-rpath,/opt/conda/lib MAIN_LINK = $(MAIN_LD) $(MAIN_LDFLAGS) $(LDFLAGS) $(RPATH_LDFLAGS) MKINSTALLDIRS = "$(R_HOME)/bin/mkinstalldirs" OBJC = OBJCFLAGS = $(LTO) OBJC_LIBS = OBJCXX = R_ARCH = RANLIB = ranlib SAFE_FFLAGS = -g -O2 -msse2 -mfpmath=sse SED = /bin/sed SHELL = /bin/sh SHLIB_CFLAGS = SHLIB_CXXFLAGS = SHLIB_CXXLD = $(CXX) SHLIB_CXXLDFLAGS = -shared SHLIB_CXX98LD = $(CXX98) $(CXX98STD) SHLIB_CXX98LDFLAGS = -shared SHLIB_CXX11LD = $(CXX11) $(CXX11STD) SHLIB_CXX11LDFLAGS = -shared SHLIB_CXX14LD = $(CXX14) $(CXX14STD) SHLIB_CXX14LDFLAGS = -shared SHLIB_CXX17LD = $(CXX17) $(CXX17STD) SHLIB_CXX17LDFLAGS = -shared SHLIB_EXT = .so SHLIB_FCLD = $(FC) SHLIB_FCLDFLAGS = -shared SHLIB_FFLAGS = SHLIB_LD = $(CC) SHLIB_LDFLAGS = -shared# $(CFLAGS) $(CPICFLAGS) SHLIB_LIBADD = ## We want to ensure libR is picked up from $(R_HOME)/lib ## before e.g. /usr/local/lib if a version is already installed. SHLIB_LINK = $(SHLIB_LD) $(SHLIB_LDFLAGS) $(LIBR0) $(LDFLAGS) SHLIB_OPENMP_CFLAGS = -fopenmp SHLIB_OPENMP_CXXFLAGS = -fopenmp SHLIB_OPENMP_FCFLAGS = -fopenmp SHLIB_OPENMP_FFLAGS = -fopenmp STRIP_LIBS = strip --strip-unneeded STRIP_STATIC_LIBS = strip --strip-debug TCLTK_CPPFLAGS = -I/opt/conda/include -I/opt/conda/include TCLTK_LIBS = -L/opt/conda/lib -ltcl8.6 -L/opt/conda/lib -ltk8.6 -lX11 YACC = yacc ## legacy CXX1X = g++ CXX1XFLAGS = -DBOOST_MATH_DISABLE_FLOAT128 -m64 -fPIC CXX1XPICFLAGS = -fpic CXX1XSTD = -std=gnu++11 SHLIB_CXX1XLD = $(CXX11) $(CXX11STD) SHLIB_CXX1XLDFLAGS = -shared ## for linking to libR.a STATIC_LIBR = # -Wl,--whole-archive "$(R_HOME)/lib$(R_ARCH)/libR.a" -Wl,--no-whole-archive $(BLAS_LIBS) $(FLIBS) $(LIBINTL) -lreadline $(LIBS) R_XTRA_CFLAGS = R_XTRA_CPPFLAGS = -I"$(R_INCLUDE_DIR)" -DNDEBUG R_XTRA_CXXFLAGS = R_XTRA_FFLAGS = ALL_CFLAGS = $(R_XTRA_CFLAGS) $(PKG_CFLAGS) $(CPICFLAGS) $(SHLIB_CFLAGS) $(CFLAGS) ALL_CPPFLAGS = $(R_XTRA_CPPFLAGS) $(PKG_CPPFLAGS) $(CLINK_CPPFLAGS) $(CPPFLAGS) ALL_CXXFLAGS = $(R_XTRA_CXXFLAGS) $(PKG_CXXFLAGS) $(CXXPICFLAGS) $(SHLIB_CXXFLAGS) $(CXXFLAGS) ALL_OBJCFLAGS = $(PKG_OBJCFLAGS) $(CPICFLAGS) $(SHLIB_CFLAGS) $(OBJCFLAGS) ALL_OBJCXXFLAGS = $(PKG_OBJCXXFLAGS) $(CXXPICFLAGS) $(SHLIB_CXXFLAGS) $(OBJCXXFLAGS) ALL_FFLAGS = $(R_XTRA_FFLAGS) $(PKG_FFLAGS) $(FPICFLAGS) $(SHLIB_FFLAGS) $(FFLAGS) ## LIBR here as a couple of packages use this without SHLIB_LINK ALL_LIBS = $(PKG_LIBS) $(SHLIB_LIBADD) $(LIBR)# $(LIBINTL) .SUFFIXES: .SUFFIXES: .c .cc .cpp .d .f .f90 .f95 .m .mm .M .o .c.o: $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c $< -o $@ .c.d: @echo "making $@ from $<" @$(CC) -MM $(ALL_CPPFLAGS) $< > $@ .m.d: @echo > $@ .cc.o: $(CXX) $(ALL_CPPFLAGS) $(ALL_CXXFLAGS) -c $< -o $@ .cpp.o: $(CXX) $(ALL_CPPFLAGS) $(ALL_CXXFLAGS) -c $< -o $@ .cc.d: @echo "making $@ from $<" @$(CXX) -M $(ALL_CPPFLAGS) $< > $@ .cpp.d: @echo "making $@ from $<" @$(CXX) -M $(ALL_CPPFLAGS) $< > $@ .m.o: $(OBJC) $(ALL_CPPFLAGS) $(ALL_OBJCFLAGS) -c $< -o $@ .mm.o: $(OBJCXX) $(ALL_CPPFLAGS) $(ALL_OBJCXXFLAGS) -c $< -o $@ .M.o: $(OBJCXX) $(ALL_CPPFLAGS) $(ALL_OBJCXXFLAGS) -c $< -o $@ .f.o: $(F77) $(ALL_FFLAGS) -c $< -o $@ .f95.o: $(FC) $(PKG_FCFLAGS) $(FCPICFLAGS) $(FCFLAGS) -c $< -o $@ .f90.o: $(FC) $(PKG_FCFLAGS) $(FCPICFLAGS) $(FCFLAGS) -c $< -o $@ ```
vilhelmen commented 5 years ago

Also, is there a way to pin a particular build? I can't find anything on it and my guesses at syntax aren't working.

jdblischak commented 5 years ago

Also, is there a way to pin a particular build? I can't find anything on it and my guesses at syntax aren't working.

@vilhelmen Are you trying to pin the build when running install/create? If yes, the syntax is how you referred to the specific builds above: name=version=build, e.g. compare the following:

$ conda create --dry-run -n test-r-build r-base=3.5.1=h391c2eb_5
$ conda create --dry-run -n test-r-build r-base=3.5.1=he45234b_1005
mingwandroid commented 5 years ago

Our compilers don't look for system libraries (there is a way of linking to CentOS6 libs but it requires manually installing CDT packages).

conda-forge has its own GDAL package that you should use when build r-rgdal.

(r-rgdal is broken in main right now, don't get me started)

Please get started with a bug report.

vilhelmen commented 5 years ago

Please get started with a bug report.

No worries, they are aware. My understanding of the situation is that they're undergoing package rebuilds which is incomplete but the new packages have made it to main so nothing works right yet. Or something like that.

There are other R packages that are not provided by conda and have to be installed through R that have library dependencies seemingly not available in the main conda channels directly (V8, for example).

Is he45234b_1005's behavior (not being able to compile/build/link/etc with system libraries) intentional and h391c2eb_5 (working with system libraries) a fluke, or is it the opposite? Is there some sort of tag on the package I'm not seeing?

vilhelmen commented 5 years ago

@vilhelmen Are you trying to pin the build when running install/create? If yes, the syntax is how you referred to the specific builds above: name=version=build, e.g. compare the following:

$ conda create --dry-run -n test-r-build r-base=3.5.1=h391c2eb_5
$ conda create --dry-run -n test-r-build r-base=3.5.1=he45234b_1005

Something like that. I'm running a conda config --env --add pinned_packages r-base=3.5.1=h391c2eb_5 and crossing my fingers that R doesn't switch to he45234b_1005 when a different package is installed at a later date.

mingwandroid commented 5 years ago

In general our compilers are moving towards increased isolation from system libraries (you can add them manually with -I/usr/include and -L/usr/lib, depending on the build system).

I appreciate that sometimes the end user has little option but to mix in some system libraries so it's not ideal. If our compilers were to be made capable of looking in system folders, should it do that before the sysroot or after it? I think this needs an env. variable adding but I don't think we'll get round to this any time soon.

vilhelmen commented 5 years ago

That's fair, I understand the complexities involved and how much of a pain it can be. Is it possible to add the -I and -L flags into the Makeconfs file? I'm not really an R person and my attempts to brute force it were unsuccessful.

I'll bring it up with some downstream users and see what they know.

isuruf commented 3 months ago

Going to close this as 3.5.1 is old. Please open a new issue if the problem is in newer versions.