msa compilation failure - multiple definition of `GC_jmp_buf' in gc-7.2
1
0
Entering edit mode
Freddie ▴ 40
@freddie-23826
Last seen 4.0 years 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 • 3.0k 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
0
Entering edit mode

@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 of gc included in msa. Updating gc 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.

ADD REPLY
1
Entering edit mode

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.

ADD REPLY
2
Entering edit mode
UBod ▴ 300
@ubodenhofer-5425
Last seen 6 months ago
University of Applied Sciences Upper Au…

We have pushed a new version of msa to the BioC git repo that now uses gc 7.6.12. We sincerely hope that this update solves the issues discussed in this thread. Unfortunately, we made the error to push also the build/ directory. That is why the package does not install correctly. Today, we pushed a new version (now 1.25.2) that also solves this issue. We hope that the package now builds, checks and installs correctly. However, it will probably take 1-2 more days until the new version propagates to the BioC server.

ADD COMMENT

Login before adding your answer.

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