Can't install GOSEQ (dependency problem) on CentOS 7!
1
0
Entering edit mode
Raito92 ▴ 60
@raito92-20399
Last seen 2.4 years ago
Italy

Hello, I've tried to install the package goseq with:

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("goseq")

But I get

* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
Found pkg-config cflags and libs!
Using PKG_CFLAGS=
Using PKG_LIBS=-lcurl
** libs
rm -f curl.so callbacks.o curl.o download.o escape.o fetch.o form.o getdate.o handle.o ieproxy.o init.o interrupt.o multi.o nslookup.o reflist.o split.o ssl.o typechecking.o utils.o version.o winidn.o writer.o
gcc -std=gnu99 -I"/usr/local/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c callbacks.c -o callbacks.o
gcc -std=gnu99 -I"/usr/local/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c curl.c -o curl.o
gcc -std=gnu99 -I"/usr/local/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c download.c -o download.o
gcc -std=gnu99 -I"/usr/local/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c escape.c -o escape.o
gcc -std=gnu99 -I"/usr/local/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c fetch.c -o fetch.o
gcc -std=gnu99 -I"/usr/local/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c form.c -o form.o
gcc -std=gnu99 -I"/usr/local/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c getdate.c -o getdate.o
gcc -std=gnu99 -I"/usr/local/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include  -fvisibility=hidden -fpic  -g -O2  -c handle.c -o handle.o
handle.c:30:1: error: unknown type name ‘curl_sslbackend’
 curl_sslbackend default_ssl_backend;
 ^
make: *** [handle.o] Errore 1
ERROR: compilation failed for package ‘curl’
* removing ‘/usr/local/lib64/R/library/curl’
ERROR: dependency ‘curl’ is not available for package ‘httr’
* removing ‘/usr/local/lib64/R/library/httr’
ERROR: dependency ‘httr’ is not available for package ‘biomaRt’
* removing ‘/usr/local/lib64/R/library/biomaRt’
ERROR: dependency ‘biomaRt’ is not available for package ‘GenomicFeatures’
* removing ‘/usr/local/lib64/R/library/GenomicFeatures’
ERROR: dependency ‘GenomicFeatures’ is not available for package ‘geneLenDataBase’
* removing ‘/usr/local/lib64/R/library/geneLenDataBase’
ERROR: dependency ‘geneLenDataBase’ is not available for package ‘goseq’
* removing ‘/usr/local/lib64/R/library/goseq’

The downloaded source packages are in
        ‘/tmp/Rtmp1BgAoA/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning messages:
1: In install.packages(pkgs = doing, lib = lib, repos = repos, ...) :
  installation of package ‘curl’ had non-zero exit status
2: In install.packages(pkgs = doing, lib = lib, repos = repos, ...) :
  installation of package ‘httr’ had non-zero exit status
3: In install.packages(pkgs = doing, lib = lib, repos = repos, ...) :
  installation of package ‘biomaRt’ had non-zero exit status
4: In install.packages(pkgs = doing, lib = lib, repos = repos, ...) :
  installation of package ‘GenomicFeatures’ had non-zero exit status
5: In install.packages(pkgs = doing, lib = lib, repos = repos, ...) :
  installation of package ‘geneLenDataBase’ had non-zero exit status
6: In install.packages(pkgs = doing, lib = lib, repos = repos, ...) :
  installation of package ‘goseq’ had non-zero exit status

Here is my sessionInfo()

R version 3.5.3 (2019-03-11)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS: /usr/local/lib64/R/lib/libRblas.so
LAPACK: /usr/local/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=it_IT.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=it_IT.UTF-8        LC_COLLATE=it_IT.UTF-8
 [5] LC_MONETARY=it_IT.UTF-8    LC_MESSAGES=it_IT.UTF-8
 [7] LC_PAPER=it_IT.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=it_IT.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] BiocManager_1.30.4 compiler_3.5.3     tools_3.5.3

Any idea what could be wrong? Thanks in advance! If needed, I attach the whole log.

goseq r package r • 1.3k views
ADD COMMENT
0
Entering edit mode

This seems to be a known issue with the curl package that has been reported here: https://github.com/jeroen/curl/issues/204

ADD REPLY
2
Entering edit mode
Mike Smith ★ 6.6k
@mike-smith
Last seen 3 hours ago
EMBL Heidelberg

I've encountered the same thing and worked around it by installing the previous version of the curl package via:

install.packages("https://cran.r-project.org/src/contrib/Archive/curl/curl_4.0.tar.gz", repo=NULL, type="source")

Not ideal, but it seems to work and allow the packages that depend on curl to be installed to.

ADD COMMENT
0
Entering edit mode
> install("curl")
Bioconductor version 3.9 (BiocManager 1.30.4), R 3.6.0 (2019-04-26)
Installing package(s) 'curl'
trying URL 'https://cran.rstudio.com/src/contrib/curl_4.1.tar.gz'
Content type 'application/x-gzip' length 667788 bytes (652 KB)
==================================================
downloaded 652 KB

<snip> 
gcc -std=gnu99 -I"/share/apps/R/R-3.6.0/lib64/R/include" -DNDEBUG -DSTRICT_R_HEADERS  -I/usr/local/include -fvisibility=hidden -fpic  -g -O2  -c handle.c -o handle.o
handle.c:30:1: error: unknown type name curl_sslbackend
 curl_sslbackend default_ssl_backend;
 ^
make: *** [handle.o] Error 1
ERROR: compilation failed for package curl
< snip>
> system("curl --version", intern = TRUE)
[1] "curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3"                    
[2] "Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp "
[3] "Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets "  

BUT

> library(BiocManager)
Bioconductor version 3.9 (BiocManager 1.30.4), ?BiocManager::install for help
> install("curl")
Bioconductor version 3.9 (BiocManager 1.30.4), R 3.6.0 (2019-04-26)
Installing package(s) 'curl'
<snip>

* DONE (curl)
< snip> 
> system("curl --version", intern = TRUE)
[1] "curl 7.54.0 (x86_64-unknown-linux-gnu) libcurl/7.54.0 GnuTLS/3.5.11 zlib/1.2.8"
[2] "Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp "
[3] "Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy "
>

So an upgrade to a more recent curl version seems to do the trick.

ADD REPLY
0
Entering edit mode

I guess it depends if that's feasible. In my case the CentOS machine isn't administered by me, so controlling the system curl version gets challenging.

ADD REPLY
0
Entering edit mode

It's not that challenging though, is it? I don't have sudo privileges either, but it's inevitable that you are going to run into software that needs newer versions of whatever is installed (particularly if you are on a production OS like CentOS). I just install in my home dir:

git clone https://github.com/curl/curl.git
mkdir /home/jmacdon/programs
cd curl
./config --prefix=/home/jmacdon/programs
make; make install
## edit .bashrc to include
export PKG_CONFIG_PATH=/home/jmacdon/programs/lib/pkgconfig:$PKG_CONFIG_PATH

after which curl installs no problem.

ADD REPLY
0
Entering edit mode

This solved the problem, thank you!

ADD REPLY

Login before adding your answer.

Traffic: 620 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6