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.

Home Page:https://bioconductor.org/packages/rhdf5filters/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to compile on Linux 64-bit

khughitt opened this issue · comments

When attempting to install for R 3.6.1, compilation fails with the error message:

...
configure: creating ./config.status
config.status: error: cannot find input file: `src/blosc/lib/blosc-1.16.3/Makefile.in'
ERROR: configuration failed for package ‘rhdf5filters’

I've added the missing file, but I wouldn't want to guarantee build success at the moment, the package is undergoing a lot of changes right now.

No worries! Just let me know if you would like any help testing on Linux once things stabilize a bit.

In the meantime, I tried compiling again with the latest commit and it gets further, but fails for a different reason now:

make[2]: Leaving directory '/home/keith/software/rhdf5filters/src/blosc/lib/zstd-1.3.8'
make -C lib/blosc-1.16.3 all
make[2]: Entering directory '/home/keith/software/rhdf5filters/src/blosc/lib/blosc-1.16.3'
gcc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fpic -lpthread -I"/home/keith/R/x86_64-pc-linux-gnu-library/3.6/Rhdf5lib/include" -I../lz4-1.8.3 -I../snappy-1.1.1 -I../zstd-1.3.8 -c bitshuffle-avx2.c
bitshuffle-avx2.c:22:4: error: #error AVX2 is not supported by the target architecture/platform and/or this compiler.
   22 |   #error AVX2 is not supported by the target architecture/platform and/or this compiler.
      |    ^~~~~
bitshuffle-avx2.c: In function ‘bshuf_trans_bit_byte_avx2’:
bitshuffle-avx2.c:70:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
   70 |         ymm = _mm256_loadu_si256((__m256i *) &in_b[ii]);
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:12: bitshuffle-avx2.o] Error 1
make[2]: Leaving directory '/home/keith/software/rhdf5filters/src/blosc/lib/blosc-1.16.3'
make[1]: *** [Makefile:44: blosc] Error 2
make[1]: Leaving directory '/home/keith/software/rhdf5filters/src/blosc'
make: *** [Makevars:27: blosc/libH5Zblosc.so] Error 2
ERROR: compilation failed for package ‘rhdf5filters’
* removing ‘/home/keith/R/x86_64-pc-linux-gnu-library/3.6/rhdf5filters’

This is with gcc 9.2.0.

I never checked back this was resolved, but hopefully it's building on all platforms now.

Just tested it and it appears to build fine now. Thanks for following up!