msa compilation failure - multiple definition of `GC_jmp_buf' in gc-7.2
0
0
Entering edit mode
Freddie ▴ 40
@freddie-23826
Last seen 9 months ago
UCL

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   
software error msa • 648 views
ADD COMMENT
2
Entering edit mode

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.

ADD REPLY
2
Entering edit mode

As a workaround I have compiled ok with gcc version 9.2.1

ADD REPLY
1
Entering edit mode

Thank you for this workaround! For me switching from gcc-10 to gcc-9 and using r --vanilla does the trick!

ADD REPLY
0
Entering edit mode

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.

ADD REPLY
0
Entering edit mode

@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.

> BiocManager::install("msa")
Bioconductor version 3.14 (BiocManager 1.30.16), R 4.1.0 beta (2021-05-10
  r80280)
Installing package(s) 'msa'
trying URL 'https://bioconductor.org/packages/3.14/bioc/src/contrib/msa_1.25.0.tar.gz'
[ truncated ... ]
/usr/bin/ld: .libs/mach_dep.o:/tmp/RtmpTx88tK/R.INSTALL354a1c5e34ba/msa/src/gc-7.2/./include/private/gc_priv.h:2328: multiple definition of `GC_jmp_buf'; .libs/allchblk.o:/tmp/RtmpTx88tK/R.INSTALL354a1c5e34ba/msa/src/gc-7.2/./include/private/gc_priv.h:2328: first defined here
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:1180: libgc.la] Error 1

Best regards,

Marcel

ADD REPLY

Login before adding your answer.

Traffic: 306 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