Skip to content

[Bioc-devel] Build Error for ANCOMBC Package on Linux

2 messages · Huang Lin (Frederick), Hervé Pagès

#
Dear BioC Team,

I am the maintainer of the ANCOMBC package
http://bioconductor.org/packages/release/bioc/html/ANCOMBC.html

I recently received messages from the system indicating that ANCOMBC
encountered a build error on the Linux system. The error message is as
follows:

```
* installing to library ?/home/biocbuild/bbs-3.19-bioc/R/site-library?
ERROR: dependency ?CVXR? is not available for package ?ANCOMBC?
* removing ?/home/biocbuild/bbs-3.19-bioc/R/site-library/ANCOMBC?
```

It appears that the error is due to the absence of the "CVXR" package on
the Linux system. Since macOS and Windows systems do not encounter this
issue with "CVXR", I wonder what the best practice is to resolve this issue.

Thank you,

Huang
#
Hi Huang,

That's because the latest version of CVXR (1.0-14, uploaded to CRAN on 
June 27) introduces a dep on the new clarabel package (also on CRAN 
since June 22):

https://cran.r-project.org/package=clarabel

Unfortunately clarabel has a bunch of system requirements that are not 
on our Linux builders yet, because no Bioconductor package ever depended 
on it (either directly or indirectly) until now.

I guess the Windows and Mac builders are not affected because the 
clarabel binaries don't have these requirements.

We will take care of installing these requirements on our Linux builders.

FWIW note that this new set of requirements makes life more complicated 
for everybody, not just for us, but also for your end users, as they now 
will also need to install them on their Linux systems. So make sure that 
ANCOMBC absolutely needs to depend on CVXR. If the latter is only needed 
to support some extra functionality that is not part of ANCOMBC's core 
business, then consider moving it to Suggests. In this case, any 
function in your package that uses CVXR should start with something like 
this:

 ??? if (!requireNamespace("CVXR", quietly=TRUE))
 ??????? stop("the CVXR package is needed to perform this operation")

Hope this helps,

H.
On 7/22/24 14:52, Huang Lin (Frederick) wrote: