Hi there, These last days I'm trying to install the msa package to perform a multiple sequence alignment on my computer. I use my Rstudio on Uduntu linux. I had some issues too on windows enviroment but I managed to resolve these. Any ideas why this happens?
BiocManager::install("msa")
Bioconductor version 3.12 (BiocManager 1.30.10), R 4.0.2 (2020-06-22)
Installing package(s) 'msa'
trying URL 'https://bioconductor.org/packages/3.12/bioc/src/contrib/msa_1.22.0.tar.gz'
Content type 'application/x-gzip' length 3767128 bytes (3.6 MB)
==================================================
downloaded 3.6 MB
* installing *source* package ‘msa’ ...
** using staged installation
** libs
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -I'/home/doctoras/R/x86_64-pc-linux-gnu-library/4.0/Rcpp/include' -I"./gc-7.2/include" -I"./Muscle/" -I"./ClustalW/src" -I"./ClustalOmega/src" -fpic -g -O2 -fdebug-prefix-map=/build/r-base-PsrVor/r-base-4.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c R_init_msa.cpp -o R_init_msa.o
In file included from ./Muscle/RMuscle.h:4,
from R_init_msa.cpp:3:
./Muscle/muscle.h:54: warning: "assert" redefined
54 | #define assert(exp) ((void)0)
|
In file included from /usr/include/c++/10/cassert:44,
from /home/doctoras/R/x86_64-pc-linux-gnu-library/4.0/Rcpp/include/Rcpp/utils/tinyformat/tinyformat.h:137,
from /home/doctoras/R/x86_64-pc-linux-gnu-library/4.0/Rcpp/include/Rcpp/utils/tinyformat.h:40,
from /home/doctoras/R/x86_64-pc-linux-gnu-library/4.0/Rcpp/include/RcppCommon.h:70,
from /home/doctoras/R/x86_64-pc-linux-gnu-library/4.0/Rcpp/include/Rcpp.h:27,
from ./ClustalOmega/src/RClustalOmega.h:4,
from R_init_msa.cpp:1:
/usr/include/assert.h:50: note: this is the location of the previous definition
50 | # define assert(expr) (__ASSERT_VOID_CAST (0))
|
.
.
.
.
Everything goes well until this point........
.
.
.
libs/allchblk.o:/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2/./include/private/gc_priv.h:2328: first defined here
/usr/bin/ld: .libs/pthread_stop_world.o:/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2/./include/private/gc_priv.h:2328: multiple definition of `GC_jmp_buf'; .libs/allchblk.o:/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2/./include/private/gc_priv.h:2328: first defined here
/usr/bin/ld: .libs/mach_dep.o:/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2/./include/private/gc_priv.h:2328: multiple definition of `GC_jmp_buf'; .libs/allchblk.o:/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/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
make[3]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make[2]: *** [Makefile:1517: all-recursive] Error 1
make[2]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make[1]: *** [msaMakefile:5: build_gc] Error 2
make[1]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make: *** [Makevars:12: build_gc] Error 2
ERROR: compilation failed for package ‘msa’
* removing ‘/home/doctoras/R/x86_64-pc-linux-gnu-library/4.0/msa’
The downloaded source packages are in
‘/tmp/RtmpvRTKyX/downloaded_packages’
Warning message:
In install.packages(...) :
installation of package ‘msa’ had non-zero exit status
# include your problematic code here with any corresponding output
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:1180: libgc.la] Error 1
make[3]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make[2]: *** [Makefile:1517: all-recursive] Error 1
make[2]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make[1]: *** [msaMakefile:5: build_gc] Error 2
make[1]: Leaving directory '/tmp/RtmpvJZCmu/R.INSTALL115a2557e82aa/msa/src/gc-7.2'
make: *** [Makevars:12: build_gc] Error 2
ERROR: compilation failed for package ‘msa’
* removing ‘/home/doctoras/R/x86_64-pc-linux-gnu-library/4.0/msa’
The downloaded source packages are in
‘/tmp/RtmpvRTKyX/downloaded_packages’
Warning message:
In install.packages(...) :
installation of package ‘msa’ had non-zero exit status
# please also include the results of running the following in an R session
sessionInfo( )
R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.10
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/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
loaded via a namespace (and not attached):
[1] BiocManager_1.30.10 compiler_4.0.2 rsconnect_0.8.16 tools_4.0.2 yaml_2.2.1
I am experiencing the same problems (
multiple definition of
GC_jmp_buf'`) using R 4.1, BioC 3.13, msa 1.24.0 on Linux.I am using GCC 10.2.0 for compilation, and my guess is that the problem is triggerred by the definition of a global variable in a header in gc-7.2 that is imported multiple times and thus redefines that variable. While this problem was silently ignored by GCC up to version 9, GCC 10 raises an error (it uses
-fno-common
by default).I have tried to set
CFLAGS="-fcommon"
in my environment or viainstall.packges(..., config.vars)
, but that seems to be ignored bymsa
, so my workaround was to manually edit the file:msa/src/gc-7.2/msaMakefile
and replace the line:./configure --enable-cplusplus --enable-threads=pthreads --enable-shared --with-pic
by the line:CFLAGS="-fcommon" ./configure --enable-cplusplus --enable-threads=pthreads --enable-shared --with-pic
This allowed me to compile and install
msa
using GCC 10.UBodenhofer Maybe that could be done in
msa
itself? I have not run many tests, but the examples seem to run fine with that modification.Ok, I'll give it a try. Can't promise exactly when.
I have the same error when compiling. I tried the hack from @Michael Stadler and it worked. Here some info from my system it case it helps to debug the package.
Matrix products: default BLAS: /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3.10.3 LAPACK: /usr/lib/x86_64-linux-gnu/atlas/liblapack.so.3.10.3
locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages: [1] stats4 parallel stats graphics grDevices utils datasets [8] methods base
other attached packages: [1] msa_1.24.0 Biostrings_2.60.2 GenomeInfoDb_1.28.4 [4] XVector_0.32.0 IRanges_2.26.0 S4Vectors_0.30.2
[7] BiocGenerics_0.38.0 ggplot2_3.3.5
loaded via a namespace (and not attached): [1] Rcpp_1.0.7 pillar_1.6.3 compiler_4.1.1
[4] BiocManager_1.30.16 bitops_1.0-7 tools_4.1.1
[7] zlibbioc_1.38.0 lifecycle_1.0.1 tibble_3.1.5
[10] gtable_0.3.0 pkgconfig_2.0.3 rlang_0.4.11
[13] rstudioapi_0.13 DBI_1.1.1 GenomeInfoDbData_1.2.6 [16] withr_2.4.2 dplyr_1.0.7 generics_0.1.0
[19] vctrs_0.3.8 grid_4.1.1 tidyselect_1.1.1
[22] glue_1.4.2 R6_2.5.1 fansi_0.5.0
[25] purrr_0.3.4 magrittr_2.0.1 scales_1.1.1
[28] ellipsis_0.3.2 assertthat_0.2.1 colorspace_2.0-2
[31] utf8_1.2.2 RCurl_1.98-1.5 munsell_0.5.0
[34] crayon_1.4.1