I am attempting to install Rhtslib on my rstudio pro server via my docker server in which I have several versions of R installed on, working parallel to each other by version in containers. When attempting to install Rhtslib on my working version of R-4.1.1, I get pages of errors. This is triggered by running the standard installation command from an Rsession. The end portion of the long string of errors ends with make errors
I am very aware that this may be caused by my own negligence or error, but I am just looking for anyone who can help point me in the right direction with respect to a resolution. my containers are all running CentOS7 from release 7.6.1810 my set up is vast and I am not able to really list all of the libraries and packages that I have installed but I am happy to provide specific information as it is needed, I can say that I have not had issues installing this with previous versions that I am ware of, and I have Rstudio versions R-3.3.1 - R-4.1.1 and their corresponding bio conductor packages working just fine so far. Any and all help is appreciated, normally at this point I would attempt to install the software into it's own container from source, but with cran packages this is not really a work around I can use and I am not extremely knowledgeable about troubleshooting Rstudio and cran package errors.
Please include input and relevant output here
Once I start an Rsession within my container I run the command to install Rhtslib
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::install("Rhtslib")
(the output below is not the full output, it is literally pages of output and some of the errors are repeating so in an attempt to make this manageable, I have only grabbed the last main portion of the error message.)
In file included from ./cram/cram.h:59:0, from cram/cram_encode.c:43: /include/htslib/cram.h:326:5: note: expected ‘struct cram_metrics ’ but argument is of type ‘struct cram_metrics ’ int cram_compress_block(cram_fd fd, cram_block b, cram_metrics *metrics, ^
cram/cram_encode.c:837:9: warning: passing argument 3 of ‘cram_compress_block’ from incompatible pointer type [enabled by default] method, level)) ^
In file included from ./cram/cram.h:59:0, from cram/cram_encode.c:43: /include/htslib/cram.h:326:5: note: expected ‘struct cram_metrics ’ but argument is of type ‘struct cram_metrics ’ int cram_compress_block(cram_fd fd, cram_block b, cram_metrics *metrics, ^
cram/cram_encode.c:842:6: warning: passing argument 3 of ‘cram_compress_block’ from incompatible pointer type [enabled by default] method, level)) ^
In file included from ./cram/cram.h:59:0, from cram/cram_encode.c:43: /include/htslib/cram.h:326:5: note: expected ‘struct cram_metrics ’ but argument is of type ‘struct cram_metrics ’ int cram_compress_block(cram_fd fd, cram_block b, cram_metrics *metrics, ^
cram/cram_encode.c:851:8: warning: passing argument 3 of ‘cram_compress_block’ from incompatible pointer type [enabled by default] MIN(9,level))) ^
In file included from ./cram/cram.h:59:0, from cram/cram_encode.c:43: /include/htslib/cram.h:326:5: note: expected ‘struct cram_metrics ’ but argument is of type ‘struct cram_metrics ’ int cram_compress_block(cram_fd fd, cram_block b, cram_metrics *metrics, ^
cram/cram_encode.c:857:5: warning: passing argument 3 of ‘cram_compress_block’ from incompatible pointer type [enabled by default] method, level)) ^
In file included from ./cram/cram.h:59:0, from cram/cram_encode.c:43: /include/htslib/cram.h:326:5: note: expected ‘struct cram_metrics ’ but argument is of type ‘struct cram_metrics ’ int cram_compress_block(cram_fd fd, cram_block b, cram_metrics *metrics, ^
cram/cram_encode.c:874:9: warning: passing argument 3 of ‘cram_compress_block’ from incompatible pointer type [enabled by default] method, level)) ^
In file included from ./cram/cram.h:59:0, from cram/cram_encode.c:43: /include/htslib/cram.h:326:5: note: expected ‘struct cram_metrics ’ but argument is of type ‘struct cram_metrics ’ int cram_compress_block(cram_fd fd, cram_block b, cram_metrics *metrics, ^
cram/cram_encode.c:892:9: warning: passing argument 3 of ‘cram_compress_block’ from incompatible pointer type [enabled by default] methodF, level)) ^
In file included from ./cram/cram.h:59:0, from cram/cram_encode.c:43: /include/htslib/cram.h:326:5: note: expected ‘struct cram_metrics ’ but argument is of type ‘struct cram_metrics ’ int cram_compress_block(cram_fd fd, cram_block b, cram_metrics *metrics, ^
cram/cram_encode.c: In function ‘cram_encode_aux’: cram/cram_encode.c:2245:11: warning: assignment from incompatible pointer type [enabled by default] m->m = k_global ? (cram_metrics *)kh_val(fd->tags_used, k_global) : NULL; ^
make[1]: *** [Makefile.Rhtslib:128: cram/cram_decode.o] Error 1 cram/cram_encode.c: In function ‘cram_put_bam_seq’: cram/cram_encode.c:3167:11: warning: ignoring return value of ‘bam_copy1’, declared with attribute warn_unused_result [-Wunused-result] bam_copy1(c->bams[c->curr_c_rec], b); ^
make[1]: [Makefile.Rhtslib:128: cram/cram_encode.o] Error 1 make[1]: Leaving directory '/tmp/RtmpIzRMxx/R.INSTALL62694832a3/Rhtslib/src/htslib-1.7' make: [Makevars.common:24: htslib] Error 2 ERROR: compilation failed for package ‘Rhtslib’
please also include the results of running the following in an R session
sessionInfo( )
sessionInfo() R version 4.1.1 (2021-08-10) Platform: x86_64-pc-linux-gnu (64-bit) Running under: CentOS Linux 7 (Core)
Matrix products: default BLAS: /n/apps/CentOS7/install/r-4.1.1/lib64/R/lib/libRblas.so LAPACK: /n/apps/CentOS7/install/r-4.1.1/lib64/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages: [1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached): [1] compiler_4.1.1
```
The problem with this truncated output is that we see a bunch of notes and warnings but no compilation error. Also we don't see how the compiler is invoked so for example we don't see what compilation flags are passed to it.
It would help if you could format your post a little so we can distinguish between your text and the command outputs. You can do this by putting a triple-backtick line before and after each block of output.
Thanks,
H.
Thank you for your input I appreciate it. I will revise and make changes to this post as you suggested. Unfortunately I am not able to do this now, I will update as soon as I am able. Thanks again.