[Bioc-devel] R CMD SHLIB throwing error on zin1 (linux) BioC nightly build

Morgan, Martin Martin.Morgan at roswellpark.org
Mon Dec 14 22:35:02 CET 2015


At least for the R package side of things, I think the question of how to invoke R CMD in a Makefile is moot for AnalysisPageServer -- remove the Makefile, and the shared object is created automatically when the package is built with R CMD build AnalysisPageServer.

But for the record the format for referring to R in Writing R Extensions in a Makefile is

    "${R_HOME}/bin/R" ...

${R_HOME} is an environment variable, quotes allow for spaces in the path. A more cross-platform version is  I think

    "${R_HOME}/bin${R_ARCH_BIN}/R"

where on single-architecture platforms ${R_ARCH_BIN} is undefined hence harmless.

Somewhat circularly, R_HOME is set by R CMD

$ env|grep R_HOME
$ R CMD env|grep R_HOME
R_HOME=/home/mtmorgan/bin/R-devel
$ Rrel CMD env|grep R_HOME
R_HOME=/home/mtmorgan/bin/R-3-2-branch

________________________________________
From: Bioc-devel [bioc-devel-bounces at r-project.org] on behalf of Dan Tenenbaum [dtenenba at fredhutch.org]
Sent: Monday, December 14, 2015 4:06 PM
To: Brad Friedman
Cc: bioc-devel
Subject: Re: [Bioc-devel] R CMD SHLIB throwing error on zin1 (linux)    BioC    nightly build

----- Original Message -----
> From: "Brad Friedman" <friedman.brad at gene.com>
> To: "bioc-devel" <bioc-devel at r-project.org>
> Sent: Monday, December 14, 2015 1:01:24 PM
> Subject: [Bioc-devel] R CMD SHLIB throwing error on zin1 (linux) BioC nightly build

> I’m getting an error that R cannot be found on the nightly build server.
> Obviously it can be found at some point, since R CMD build started, but at
> the moment of calling R CMD SHLIB it can’t be found again.
>
> I was wondering if anything had changed on the server, or maybe I’m doing
> my Makefile wrong.


Probably both. We made a change, removing R from the PATH on the linux and windows machines (on Mac R is in /usr/bin so it's a bad idea to remove that directory from the PATH) because we realized that there are packages that fail when R is not in the PATH, and one can't assume that R will always be in the path, so we wanted to make sure those packages failed so that we'd find the problems. That seems to be what is happening in your case.

I'm not sure what the exact syntax is, but your makefile should reference R as $R_HOME/bin/R.

Dan


> The error only happens on the linux server: mac (oaxaca)
> and windows (moscato1) build fine. And I can’t reproduce this on my local
> linux server with a fresh checkout.
>
> Nightly build
> <http://bioconductor.org/checkResults/release/bioc-LATEST/AnalysisPageServer/zin1-buildsrc.html>
> results:
>
> ##############################################################################
> ##############################################################################
> ###
> ### Running command:
> ###
> ###   /home/biocbuild/bbs-3.2-bioc/R/bin/R CMD build --keep-empty-dirs
> --no-resave-data AnalysisPageServer
> ###
> ##############################################################################
> ##############################################################################
>
> * checking for file ‘AnalysisPageServer/DESCRIPTION’ ... OK
> * preparing ‘AnalysisPageServer’:
> * checking DESCRIPTION meta-information ... OK
> * cleaning src
> * installing the package to build vignettes
>      -----------------------------------
> * installing *source* package ‘AnalysisPageServer’ ...
> ** libs
> ** arch -
> R CMD SHLIB AnalysisPageSVG.cpp tinyxml2.cpp cor.cpp catch.c
> SearchReplace2.cpp R_init_AnalysisPageServer.cpp -o
> AnalysisPageServer.so
> /bin/bash: R: command not found
> make: *** [AnalysisPageServer] Error 127
> ERROR: compilation failed for package ‘AnalysisPageServer’
> * removing ‘/tmp/RtmpREgK1P/Rinst3e5828c9cd0f/AnalysisPageServer’
>      -----------------------------------
> ERROR: package installation failed
>
> and the contents of src/Makefile:
>
> AnalysisPageServer: AnalysisPageSVG.cpp tinyxml2.cpp cor.cpp
> AnalysisPageSVG.h tinyxml2.h cor.h catch.c SearchReplace2.cpp
> SearchReplace2.h catch.h
>    R CMD SHLIB AnalysisPageSVG.cpp tinyxml2.cpp cor.cpp catch.c
> SearchReplace2.cpp R_init_AnalysisPageServer.cpp -o
> AnalysisPageServer.so
> clean:
>    rm *.o *.so
>
>
>
>       [[alternative HTML version deleted]]
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

This email message may contain legally privileged and/or confidential information.  If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited.  If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you.


More information about the Bioc-devel mailing list