I have a compilation failure with BiocManager::install('msa'). Multiple definition errors such as the following:
/usr/bin/ld: .libs/alloc.o:/tmp/RtmplXLLvZ/R.INSTALL27a5e6368f44d/msa/src/gc-7.2/./include/private/gc_priv.h:2328: multiple definition of `GC_jmp_buf'; .libs/allchblk.o:/tmp/RtmplXLLvZ/R.INSTALL27a5e6368f44d/msa/src/gc-7.2/./include/private/gc_priv.h:2328: first defined here
The install messages are at: https://pastebin.com/tPqpYbfD
My sessionInfo() is:
> sessionInfo()
R version 4.0.1 (2020-06-06)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Manjaro Linux
Matrix products: default
BLAS: /usr/lib/libblas.so.3.9.0
LAPACK: /usr/lib/liblapack.so.3.9.0
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8 LC_MONETARY=en_GB.UTF-8
[6] LC_MESSAGES=en_GB.UTF-8 LC_PAPER=en_GB.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] BiocManager_1.30.10
loaded via a namespace (and not attached):
[1] compiler_4.0.1 tools_4.0.1
Seems to be an interaction between a bug in the included gc-7.2 that was fixed in gc-7.4.6 https://github.com/ivmai/bdwgc/commit/808af929bf55cd2b31e354f1903e182b151e8668 plus the recent gcc version 10 has changed the default option to reject multiple definitions.
As a workaround I have compiled ok with gcc version 9.2.1
Thank you for this workaround! For me switching from gcc-10 to gcc-9 and using r --vanilla does the trick!
Sorry to hear/read, Freddie, that you have troubles compiling 'msa'! We are aware of the issues that might arise from specific combinations of compiler versions and platforms. For the time being, I cannot make any promises, but we are trying to find a solution.
@UBodenhofer
It looks like hasn't been fixed. The package is broken for users with a standard gcc installation typical of Ubuntu versions > 20.04. I would not expect regular users to modify the gcc version on their computers.
Please either update or downgrade the version of gc in the package so that it works with gcc >= 9. Otherwise the package is candidate for deprecation.
Best regards,
Marcel
@UBodenhofer
This is causing problems for more and more people as more users are moving to a version of Ubuntu that is > 20.04. There's nothing exotic about the systems where this compilation error happens. As Freddie and Marcel explained above it's just that recent versions of
gcc
are revealing a bug in the version ofgc
included in msa. Updatinggc
to a more recent version should solve the issue. If nothing is done, we'll need to deprecate the package in BioC 3.15.Thanks,
H.
Thanks for the wake-up call, Hervé! We are aware of this issue. There is already a branch of our package that should solve this issue. We will merge it in due course.