[Bioc-devel] nebbiolo SSL-related build error

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Thu Mar 31 10:08:40 CEST 2022


Hi Karl,

Unfortunately this Ensembl SSL certificate problem is not specific to 
our Linux builder nebbiolo1 but it affects Ubuntu users in general. I 
can reproduce it on my laptop (Ubuntu 21.10):

     library(biomaRt)
     mart <- biomaRt::useMart("ENSEMBL_MART_ENSEMBL", 
host="https://www.ensembl.org")
     # Ensembl site unresponsive, trying asia mirror
     # Error in curl::curl_fetch_memory(url, handle = handle) :
     #   SSL certificate problem: unable to get local issuer certificate

and on our Docker image (Ubuntu 20.04):

     library(biomaRt)
     mart <-  biomaRt::useMart("ENSEMBL_MART_ENSEMBL", 
host="https://www.ensembl.org")
     # Ensembl site unresponsive, trying uswest mirror
     # Error in curl::curl_fetch_memory(url, handle = handle) :
     #   server certificate verification failed. CAfile: none CRLfile: none

For some reason the error is not exactly the same on the two systems. 
Also note that the error is intermittent: sometimes the call to 
biomaRt::useMart() succeeds and sometimes it doesn't, so you might need 
to call biomaRt::useMart() several times before you actually get the error.

Here is my understanding of this situation and how it can be mitigated 
(others on this list more familiar with this issue please correct me if 
I'm wrong):

   - This issue has been around for a while and discussed in various places.

   - IIRC the problem really is on Ensembl's side but we only see the 
biomaRt::useMart() error on Ubuntu >= 20.04 because this OS has 
increased security settings by default.

   - I also believe that the Ensembl folks have been aware of the 
situation for a while but AFAICT not much has changed.

   - IIRC a workaround is to lower the security settings on the system. 
However this is not a totally satisfying solution because Ubuntu users 
wouldn't necessarily know how to do that or have the permission to do it 
(e.g. if they are on a cluster).

   - In January Mike Smith modified biomaRt::useEnsembl() so that the 
function should be able to use its own SSL settings to better handle the 
SSL certificate situation on Ubuntu. So using biomaRt::useEnsembl() 
instead of biomaRt::useMart() should help.

   - Regardless of Mike's recent improvement to biomaRt::useEnsembl(), 
it's probably a good idea to use this function instead of 
biomaRt::useMart() when accessing the Ensembl Mart.

   - The sad reality is that Ensembl Mart has always been a flaky 
service. So no matter how we access it, we sometimes get errors like 
this one:

     mart <- useEnsembl("genes")
     # Ensembl site unresponsive, trying asia mirror
     # Error: Unexpected format to the list of available marts.
     # Please check the following URL manually, and try ?listMarts for 
advice.
     # 
https://www.ensembl.org:443/biomart/martservice?type=registry&requestid=biomaRt

Hope this helps,

H.

On 30/03/2022 13:11, Karl Stamm wrote:
> I have a new build error that is somewhat environment specific;
> failing only on nebbiolo and not for Windows nor Mac.
>
> The error message states only " SSL certificate problem: unable to get
> local issuer certificate "
>
> My package, during a rather long process, includes a call to biomart with
> biomaRt::useMart("ENSEMBL_MART_ENSEMBL", host="https://www.ensembl.org")
>
> In a previous version I did not specify "https" but simply 'www', and
> we did not have any build errors, but Ensembl was throwing warnings
> (recently?) that an https specification will become mandatory.
> I guess nebbiolo has some SSL inability, which puts me in a bind, to
> either use a deprecated interface and hope Ensembl keeps working, or
> seek whatever problem we're having during the builds.
>
> Thanks for your insight.
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

-- 
Hervé Pagès

Bioconductor Core Team
hpages.on.github using gmail.com



More information about the Bioc-devel mailing list