Skip to content

[Bioc-devel] warnings from R CMD check on Win32 about object files in src/

3 messages · Martin Maechler, Seth Falcon

#
Hi all,

Eryk wrote with the following question:
We were looking into the same issue yesterday and didn't yet come up
with a solution.

I'm nearly certain this is not a fault with the package itself, but
either something we are doing wrong in our build/check process or a
small bug in the R CMD check stuff.

What I was seeing yesterday (testing on Linux) was that running R CMD
check --no-vignettes would show a WARNING if a previous R CMD INSTALL
had left object files.  Running with vignettes causes a compilation
cycle and subsequent src/ dir cleaning.

+ seth
#
Seth> Hi all,
    Seth> Eryk wrote with the following question:
    >> Not shure how to takle the the following warning:
    >> 
    >> * checking if this is a source package ... WARNING
    >> Subdirectory 'msbase/src' contains object files.
    >> 
    >> (,on http://www.bioconductor.org/checkResults/Windows/msbase)
    >> 
    >> I have controlled if I have incidentally checked in some object files. All 
    >> seems to be OK. The unix check runs "OK".
    >> 
    >> Any suggestions?

    Seth> We were looking into the same issue yesterday and didn't yet come up
    Seth> with a solution.

    Seth> I'm nearly certain this is not a fault with the package itself, but
    Seth> either something we are doing wrong in our build/check process or a
    Seth> small bug in the R CMD check stuff.

    Seth> What I was seeing yesterday (testing on Linux) was that running R CMD
    Seth> check --no-vignettes would show a WARNING if a previous R CMD INSTALL
    Seth> had left object files.  Running with vignettes causes a compilation
    Seth> cycle and subsequent src/ dir cleaning.

I don't think there's abut with R CMD check here.

For "day to day" work, I live with the warning

    >> * checking if this is a source package ... WARNING
    >> Subdirectory 'msbase/src' contains object files.

very well. But it *is* reasonable to give a warning: If these
object files were compiled on a different architecture,
or---more realistically---with different version of the C
compiler, or ... (you name it),

the subsequent package checks may lead to incorrect results,
possibly errors of both kinds 
{Code working "correctly" that should give an error or
 code giving a problem only because the *.o files where not correct}.

Martin
#
Martin Maechler <maechler@stat.math.ethz.ch> writes:
Agreed.  I think I've determined why this is giving us grief:

R CMD INSTALL, when called on a package source directory, leaves
object files in the src/ subdirectory.

R CMD build cleans the src directory as does R CMD check if the check
process needs to build stuff (otherwise it reports a warning).

As I understand it, the recommended way to build binary packages on
Windows is:

R CMD INSTALL --build

and *not* R CMD build --binary

Since we use INSTALL on a package source directory during our
automated build process, we are left with a dirty src/ directory and
receive our warning.

Q1: Is R CMD INSTALL --build still prefered to R CMD build --binary?

If we are stuck with R CMD INSTALL --build, then an option for R CMD
check like --clean-src would be helpful.

Thoughts?  Further suggestions?

Best,

+ seth