grimbough / rhdf5filters

Distributing additional HDF5 compression filters as an R package. Intended to be used with rhdf5, however the compiled filters can also be used with external applications.
https://bioconductor.org/packages/rhdf5filters/
BSD 2-Clause "Simplified" License
5 stars 6 forks source link

Makevars:17: *** missing separator. Stop. ERROR: compilation failed for package 'rhdf5filters' #14

Closed lucygarner closed 2 years ago

lucygarner commented 3 years ago

Hi,

I am having this issue with Bioconductor 3.12 but can't upgrade to 3.13 currently as our server only has a module for R 4.0.0 that works with RStudio server. What is the suggested solution?

BiocManager::install("rhdf5filters")

'getOption("repos")' replaces Bioconductor standard repositories, see
'?repositories' for details

replacement repositories:
    CRAN: https://cran.rstudio.com

Bioconductor version 3.12 (BiocManager 1.30.16), R 4.0.0 (2020-04-24)
Installing package(s) 'rhdf5filters'
trying URL 'https://bioconductor.org/packages/3.12/bioc/src/contrib/rhdf5filters_1.2.1.tar.gz'
Content type 'application/x-gzip' length 803330 bytes (784 KB)
==================================================
downloaded 784 KB

* installing *source* package 'rhdf5filters' ...
** using staged installation
configuring the BLOSC filter...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether C compiler accepts -msse2... yes
checking for gcc __builtin_cpu_init function... yes
checking for x86 sse2 instruction support... yes
checking whether C compiler accepts -mavx2... yes
checking for x86 avx2 instruction support... yes
configure: creating ./config.status
config.status: creating src/blosc/lib/blosc-1.16.3/Makefile
config.status: creating src/blosc/Makefile
configure:    HDF5_INCLUDE=/src
configure:    BZIP2_LIB=bzip2/libH5Zbz2.so
configure:    BLOSC_LIB=blosc/libH5Zblosc.so
configure: creating ./config.status
config.status: creating src/blosc/lib/blosc-1.16.3/Makefile
config.status: creating src/blosc/Makefile
config.status: creating src/Makevars
** libs
Makevars:17: *** missing separator.  Stop.
ERROR: compilation failed for package 'rhdf5filters'
* removing '/gpfs3/well/klenerman/users/otr471/analysis/10x/10x_innate_HCW/r_project/10x_innate_HCW/renv/library/R-4.0/x86_64-pc-linux-gnu/rhdf5filters'

sessionInfo()

R version 4.0.0 (2020-04-24)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS/LAPACK: /gpfs3/apps/eb/dev/skylake/software/OpenBLAS/0.3.9-GCC-9.3.0/lib/libopenblas_skylakexp-r0.3.9.so

locale:
[1] C

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

loaded via a namespace (and not attached):
[1] compiler_4.0.0      BiocManager_1.30.16 tools_4.0.0        
[4] renv_0.14.0      

Best wishes, Lucy

Originally posted by @lucygarner in https://github.com/grimbough/rhdf5filters/issues/11#issuecomment-890009689

lucygarner commented 3 years ago

Is this still a valid solution? Or is there a better one?

BiocManager::install('grimbough/rhdf5filters', ref = 'makevars-testing')

grimbough commented 3 years ago

I presume the root cause is the same as diagnosed in #11 where some part of the R startup is printing messages to screen?

The fix from that branch was merged into the 3.13 release, so you could install that with BiocManager::install('grimbough/rhdf5filters', ref = "RELEASE_3_13")

I don't think there's any reason that won't be backwards compatible with Bioconductor 3.12 so you should be fine to use it. However BiocManager might complain about using something too new. If that's the case I can take a look at creating a patched version of the RELEASE_3_12 branch.

lucygarner commented 3 years ago

Thank you for the quick and helpful response.

Running this gives me:

Bioconductor version 3.12 (BiocManager 1.30.16), R 4.0.0 (2020-04-24)
Installing github package(s) 'grimbough/rhdf5filters'
Downloading GitHub repo grimbough/rhdf5filters@RELEASE_3_13
Error in utils::download.file(url, path, method = method, quiet = quiet,  : 
  cannot open URL 'https://api.github.com/repos/grimbough/rhdf5filters/tarball/RELEASE_3_13'
grimbough commented 3 years ago

Sorry, my bad. I got confused between various Bioc packages & GitHub repositories. It looks like I haven't created a RELEASE_3_13 branch for this particular package, so that command won't work yet. I'll update on Monday, then it should be available.

grimbough commented 3 years ago

Hi @lucygarner I've created the RELEASE_3_13 branch here on Github, so the command above should work for you now. Please let me know if you continue to run into problems.

lucygarner commented 3 years ago

Thank you @grimbough. This version installed ok :)