MSA package fails to be installed - installation of package ‘msa’ had non-zero exit status
3
0
Entering edit mode
@user-25080
Last seen 3.7 years ago

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
msa MultipleSequenceAlignment • 3.7k views
ADD COMMENT
0
Entering edit mode
UBod ▴ 300
@ubodenhofer-5425
Last seen 6 months ago
University of Applied Sciences Upper Au…

I am sorry that you are encountering problems installing 'msa'! Unfortunately, the package is known to have some installation problems on more exotic platforms, but yours seems quite standard and not exotic at all. Do you have a non-standard gcc compiler or anything like that? I am afraid I cannot help much at this point. If you want, you can send the entire output by posting it here or sending it to me by e-mail, maybe I can spot a pecularity. Otherwise I'd recommend you to wait for the upcoming BioC 3.13 release - hoping that it would solve your issues.

ADD COMMENT
1
Entering edit mode

I am experiencing the same problems (multiple definition ofGC_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 via install.packges(..., config.vars), but that seems to be ignored by msa, 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.

ADD REPLY
0
Entering edit mode

Ok, I'll give it a try. Can't promise exactly when.

ADD REPLY
0
Entering edit mode

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.


sessionInfo() R version 4.1.1 (2021-08-10) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Debian GNU/Linux bookworm/sid

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

ADD REPLY
0
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
0
Entering edit mode

I was able to install the last msa version on a fresh R 4.2.0 installation on a 20.04.1 Ubuntu system (Linux 5.13.0-51-generic #58~20.04.1-Ubuntu SMP, gcc 10.3.0).

Unfortunately, msa compilation still fails on an identical Ubuntu system (Linux 5.13.0-51-generic #58~20.04.1-Ubuntu SMP, gcc 10.3.0) with the native R 3.6.3 version (beginning and end of the error message reported below). Could you backport the gc 7.2 -> 7.6 update to the Bioconductor 3.10 version (or apply the patch suggested by Michael Stadler if it does not break anything else)?

*bin/bash ./libtool --tag=CC --mode=link gcc -fexceptions -g -O2 -fno-strict-aliasing -version-info 1:3:0 -no-undefined -o libgc.la -rpath /usr/local/lib allchblk.lo alloc.lo blacklst.lo checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo real_malloc.lo reclaim.lo specific.lo stubborn.lo typd_mlc.lo backgraph.lo thread_local_alloc.lo pthread_start.lo pthread_support.lo pthread_stop_world.lo libatomic_ops/src/atomic_ops.lo mach_dep.lo -lpthread -ldl libtool: link: gcc -shared -fPIC -DPIC .libs/allchblk.o .libs/alloc.o .libs/blacklst.o .libs/checksums.o .libs/dbg_mlc.o .libs/dyn_load.o .libs/finalize.o .libs/gc_dlopen.o .libs/gcj_mlc.o .libs/headers.o .libs/malloc.o .libs/mallocx.o .libs/mark.o .libs/mark_rts.o .libs/misc.o .libs/new_hblk.o .libs/obj_map.o .libs/os_dep.o .libs/pcr_interface.o .libs/ptr_chck.o .libs/real_malloc.o .libs/reclaim.o .libs/specific.o .libs/stubborn.o .libs/typd_mlc.o .libs/backgraph.o .libs/thread_local_alloc.o .libs/pthread_start.o .libs/pthread_support.o .libs/pthread_stop_world.o libatomic_ops/src/.libs/atomic_ops.o .libs/mach_dep.o -lpthread -ldl -g -O2 -Wl,-soname -Wl,libgc.so.1 -o .libs/libgc.so.1.0.3 /usr/bin/ld: .libs/alloc.o:/tmp/RtmpDOJcau/R.INSTALL18029eef4b69e/msa/src/gc-7.2/./include/private/gc_priv.h:2328: multiple definition of `GC_jmp_buf'; .libs/allchblk.o:/tmp/RtmpDOJcau/R.INSTALL18029eef4b69e/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/RtmpDOJcau/R.INSTALL18029eef4b69e/msa/src/gc-7.2' make[2]: [Makefile:1517: all-recursive] Error 1 make[2]: Leaving directory '/tmp/RtmpDOJcau/R.INSTALL18029eef4b69e/msa/src/gc-7.2' make[1]: [msaMakefile:5: build_gc] Error 2 make[1]: Leaving directory '/tmp/RtmpDOJcau/R.INSTALL18029eef4b69e/msa/src/gc-7.2' make: [Makevars:12: build_gc] Error 2 ERROR: compilation failed for package ‘msa’

  • removing ‘/usr/local/lib/R/site-library/msa’
ADD REPLY
0
Entering edit mode
stitam • 0
@d13a123e
Last seen 8 months ago
Hungary

Hi, I came across the same issue when trying to install msa in a docker (singularity) container. My base image was debian:bullseye-20230227 (https://hub.docker.com/_/debian). When I tried to install the package from Bioconductor it failed with the above error. I ended up installing it directly from GitHub (https://github.com/UBod/msa). Seems to work appropriately.

ADD COMMENT

Login before adding your answer.

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