[Rd] RODBC on Mac & _R_CHECK_FORCE_SUGGESTS_

Marc Schwartz marc_schwartz at me.com
Mon Jun 20 17:00:01 CEST 2016


> On Jun 20, 2016, at 9:19 AM, Spencer Graves <spencer.graves at prodsyse.com> wrote:
> 
>       "R CMD check sos" with R 3.3.0 under Mac OS X 10.11.5 ends as follows:
> 
> 
> >* checking package dependencies ... ERROR
> >Package suggested but not available: ‘RODBC’
> >
> >The suggested packages are required for a complete check.
> >Checking can be attempted without them by setting the environment
> >variable _R_CHECK_FORCE_SUGGESTS_ to a false value.
> 
> 
>       Unfortunately, "install.packages('RODBC')" says it's only available in source form.  When I  attempt to install from sources, it fails as follows:
> 
> 
> >checking for sqlext.h... no
> >configure: error: "ODBC headers sql.h and sqlext.h not found"
> >ERROR: configuration failed for package ‘RODBC’
> >* removing ‘/Library/Frameworks/R.framework/Versions/3.3/Resources/library/RODBC’
> >Warning in install.packages :
> >  installation of package ‘RODBC’ had non-zero exit status
> 
> 
>       The CRAN checks for RODBC also failed for the same reason (https://cloud.r-project.org/web/checks/check_results_RODBC.html).
> 
> 
> 
>       I'm not sure how to set "the environment variable _R_CHECK_FORCE_SUGGESTS_ to a false value" on my Mac, and I'd rather not do it permanently.  I tried various versions of "R CMD check _R_CHECK_FORCE_SUGGESTS_=FALSE sos_1.3-9.tar.gz" and "R CMD check _R_CHECK_FORCE_SUGGESTS_=0 sos_1.3-9.tar.gz", none of which worked. Somewhere I found a suggestion to try, "R CMD check --as-cran sos_1.3-9.tar.gz".  That also failed for me.
> 
> 
>       Suggestions?
>       Thanks,
>       Spencer Graves


Spencer,

The RODBC related error is a common issue and is covered in the vignette for the RODBC package in Appendix A "Installation":

  https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf

You are missing the two iODBC header files that are required to compile the RODBC package from source code.

When I install RODBC on my Mac running 10.11.5 (El Capitan), I use:

install.packages("RODBC", type = "source", 
                 configure.args = "--with-odbc-include=/Users/marcschwartz/R.Files/SourceAndBinaries/OSX-Tools/iODBC/libiodbc-3.52.10/include/")

where I have placed the extracted iODBC source tarball in:

  /Users/marcschwartz/R.Files/SourceAndBinaries/OSX-Tools/iODBC

The:

  configure.args = "--with-odbc-include=..." 

part of the function call points to where the header files are located after extraction from the tarball as per the vignette.

The iODBC source tarball can be downloaded from:

  http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/Downloads


If you want to temporarily set the OS X environment variable, you can open an OS X Terminal and in the console, use:

  export _R_CHECK_FORCE_SUGGESTS_=FALSE 

You can then check to see if it is set by using:

  env 

in the Terminal and/or with the following in an R console run from within that same Terminal session:

> Sys.getenv("_R_CHECK_FORCE_SUGGESTS_")
[1] "FALSE"


Once you close that Terminal session, that modified environment is lost.

Also, at least the RODBC part of the issue should have been posted to R-SIG-DB (https://stat.ethz.ch/mailman/listinfo/r-sig-db), since it is DB interface specific. Most queries about RODBC are there in the archives, including those covering the missing headers.

The part that covers issues vis-a-vis checking your own package should go to R-Package-Devel:

  https://stat.ethz.ch/mailman/listinfo/r-package-devel

rather than R-Devel.

Regards,

Marc Schwartz



More information about the R-devel mailing list