Entering edit mode
I'm trying to install msa on my new Mac. I first tried Bioconductor non-development version 3.15 and it failed with the same error messages. Thanks in advance for any assistance.
BiocManager::install("msa")
Bioconductor version 3.16 (BiocManager 1.30.18), R 4.2.1 (2022-06-23)
Installing package(s) 'msa'
Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘msa’
Do you want to attempt to install these from sources? (Yes/no/cancel) Yes
installing the source package ‘msa’
trying URL 'https://bioconductor.org/packages/3.16/bioc/src/contrib/msa_1.29.3.tar.gz'
Content type 'application/x-gzip' length 3890979 bytes (3.7 MB)
==================================================
downloaded 3.7 MB
* installing *source* package ‘msa’ ...
** using staged installation
** libs
clang++ -arch arm64 -std=gnu++14 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/Rcpp/include' -I/opt/R/arm64/include -I"./gc-7.6.12/include" -I"./Muscle/" -I"./ClustalW/src" -I"./ClustalOmega/src" -fPIC -falign-functions=64 -Wall -g -O2 -c R_init_msa.cpp -o R_init_msa.o
In file included from R_init_msa.cpp:3:
In file included from ./Muscle/RMuscle.h:4:
./Muscle/muscle.h:54:9: warning: 'assert' macro redefined [-Wmacro-redefined]
#define assert(exp) ((void)0)
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/assert.h:56:9: note: previous definition is here
#define assert(e) ((void)0)
^
In file included from R_init_msa.cpp:3:
In file included from ./Muscle/RMuscle.h:4:
In file included from ./Muscle/muscle.h:38:
./Muscle/intmath.h:59:15: warning: unused function 'ScoreToDouble' [-Wunused-function]
static double ScoreToDouble(SCORE Score)
^
2 warnings generated.
clang++ -arch arm64 -std=gnu++14 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/Rcpp/include' -I/opt/R/arm64/include -I"./gc-7.6.12/include" -I"./Muscle/" -I"./ClustalW/src" -I"./ClustalOmega/src" -fPIC -falign-functions=64 -Wall -g -O2 -c SplitCharVector2List.cpp -o SplitCharVector2List.o
clang++ -arch arm64 -std=gnu++14 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I'/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/Rcpp/include' -I/opt/R/arm64/include -I"./gc-7.6.12/include" -I"./Muscle/" -I"./ClustalW/src" -I"./ClustalOmega/src" -fPIC -falign-functions=64 -Wall -g -O2 -c SplitCharVector2Matrix.cpp -o SplitCharVector2Matrix.o
make --file=msaMakefile --directory=gc-7.6.12
./configure --enable-cplusplus --enable-threads=pthreads --enable-shared --with-pic
checking build system type... arm-apple-darwin21.6.0
checking host system type... arm-apple-darwin21.6.0
checking target system type... arm-apple-darwin21.6.0
checking GC version numbers... major=7 minor=6 micro=12
... <deleted to make post small enough>
checking how to convert arm-apple-darwin21.6.0 file names to arm-apple-darwin21.6.0 format... func_convert_file_noop
checking how to convert arm-apple-darwin21.6.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking how to run the C preprocessor... gcc -E
... <deleted to make post small enough>
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin21.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin21.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking for inline... inline
checking for pthread_self in -lpthread... yes
configure: WARNING: "Explicit GC_INIT() calls may be required."
checking whether compiler supports -Wextra... yes
checking whether compiler supports -Wpedantic... yes
checking for xlc... no
checking whether compiler supports -fno-strict-aliasing... yes
checking for getcontext... yes
checking for dl_iterate_phdr... no
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking whether to build shared libraries... yes
checking which machine-dependent code should be used...
checking whether Solaris gcc optimization fix is necessary... no
checking for dladdr... yes
checking sys/dg_sys_info.h usability... no
checking sys/dg_sys_info.h presence... no
checking for sys/dg_sys_info.h... no
checking for pkg-config... no
checking for atomic_ops... no
checking atomic_ops.h usability... no
checking atomic_ops.h presence... no
checking for atomic_ops.h... no
checking which libatomic_ops to use... internal
checking for lock-free AO_or primitive... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bdw-gc.pc
config.status: creating include/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default commands
=== configuring in libatomic_ops (/private/var/folders/gg/b2bt8yp109j69w2v0rz80vs40000gn/T/RtmpuspmsO/R.INSTALLcc807b671118/msa/src/gc-7.6.12/libatomic_ops)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/usr/local' '--enable-cplusplus' '--enable-threads=pthreads' '--enable-shared' '--with-pic' --cache-file=/dev/null --srcdir=.
checking build system type... arm-apple-darwin21.6.0
checking host system type... arm-apple-darwin21.6.0
checking target system type... arm-apple-darwin21.6.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for ranlib... ranlib
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for ANSI C header files... (cached) yes
checking for PIC compiler flag... -fPIC
checking whether gcc -fPIC causes __PIC__ definition... yes
checking for pthread_self in -lpthread... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pkgconfig/atomic_ops.pc
config.status: creating pkgconfig/atomic_ops-uninstalled.pc
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating src/atomic_ops/Makefile
config.status: creating src/atomic_ops/sysdeps/Makefile
config.status: creating tests/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing default commands
make
depbase=`echo allchblk.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -Wall -Wextra -Wpedantic -Wno-long-long -g -O2 -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF $depbase.Tpo -c -o allchblk.lo allchblk.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: gcc -DHAVE_CONFIG_H -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -Wall -Wextra -Wpedantic -Wno-long-long -g -O2 -fno-strict-aliasing -MT allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c allchblk.c -fno-common -DPIC -o .libs/allchblk.o
In file included from allchblk.c:17:
In file included from ./include/private/gc_priv.h:236:
In file included from ./include/private/gc_locks.h:32:
./libatomic_ops/src/atomic_ops.h:357:4: error: Cannot implement AO_compare_and_swap_full on this architecture.
# error Cannot implement AO_compare_and_swap_full on this architecture.
^
In file included from allchblk.c:17:
./include/private/gc_priv.h:2323:24: error: unknown type name 'AO_TS_t'
GC_EXTERN volatile AO_TS_t GC_fault_handler_lock;
^
2 errors generated.
make[3]: *** [allchblk.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [build_gc] Error 2
make: *** [build_gc] Error 2
ERROR: compilation failed for package ‘msa’
* removing ‘/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/msa’
The downloaded source packages are in
‘/private/var/folders/gg/b2bt8yp109j69w2v0rz80vs40000gn/T/Rtmp9ZWtGW/downloaded_packages’
Warning message:
In install.packages(...) :
installation of package ‘msa’ had non-zero exit status
sessionInfo( )
R version 4.2.1 (2022-06-23)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Monterey 12.6
Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats4 stats graphics grDevices utils datasets methods base
other attached packages:
[1] BiocManager_1.30.18 openxlsx_4.2.5 stringr_1.4.1 dplyr_1.0.10 Biostrings_2.65.6 GenomeInfoDb_1.33.10
[7] XVector_0.37.1 IRanges_2.31.2 S4Vectors_0.35.4 BiocGenerics_0.43.4
loaded via a namespace (and not attached):
[1] Rcpp_1.0.9 rstudioapi_0.14 magrittr_2.0.3 zlibbioc_1.43.0 tidyselect_1.2.0 R6_2.5.1
[7] rlang_1.0.6 fansi_1.0.3 tools_4.2.1 utf8_1.2.2 DBI_1.1.3 cli_3.4.1
[13] assertthat_0.2.1 tibble_3.1.8 lifecycle_1.0.3 crayon_1.5.2 zip_2.2.1 GenomeInfoDbData_1.2.9
[19] purrr_0.3.5 vctrs_0.4.2 bitops_1.0-7 RCurl_1.98-1.9 glue_1.6.2 stringi_1.7.8
[25] compiler_4.2.1 pillar_1.8.1 generics_0.1.3 pkgconfig_2.0.3
Just in case anyone else has this problem, I solved it. After having similar problems with another R package, I found a pointer to this post on that R package's support site: problems about installation of package ‘Rhtslib’, ‘Rsamtools’ ,‘GenomicAlignments’ , ‘ShortRead’ on macOS Big Sur using R 4.1.0
Please be aware that Bioconductor does not support the Apple M1 (a.k.a. arm64) architecture in native mode yet, only via Rosetta, which is the emulator built into macOS Big Sur that enables Mac M1 systems to run Intel x86_64 apps. Concretely this means that if you are on an Apple M1 system, we strongly recommend that you use the official Intel 64-bit R (x86_64 arch) from CRAN available here: https://cran.r-project.org/bin/macosx/ (choose R-4.1.0.pkg, NOT R-4.1.0-arm64.pkg). This will run on the Apple M1 platform in emulation mode.
The great benefit of doing this is that you will then be using something that we do support. In particular you'll be able to install Intel 64-bit Mac binary packages from CRAN and Bioconductor
So I uninstalled Rstudio: https://support.rstudio.com/hc/en-us/articles/200554736-How-To-Uninstall-RStudio-Desktop Uninstalled R: https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Uninstalling-under-macOS
And reinstalled the non-arm64 pkg and everything is working perfectly.