Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal Compiler Error When Installing mzR #298

Open
Doctorluka opened this issue Oct 4, 2024 · 2 comments
Open

Internal Compiler Error When Installing mzR #298

Doctorluka opened this issue Oct 4, 2024 · 2 comments

Comments

@Doctorluka
Copy link

Hi,
I am experiencing an internal compiler error when trying to install the mzR package on my system (ubuntu 22.04 in WSL, R 4.3.2). The issue occurs regardless of whether I use GCC versions 9, 10 or 11.

Here, I show the error when installing mzR using BiocManager in gcc 11 version.

> BiocManager::install("mzR")
'getOption("repos")' replaces Bioconductor standard repositories, see 'help("repositories", package = "BiocManager")' for
details.
Replacement repositories:
    CRAN: https://mirrors.tuna.tsinghua.edu.cn/CRAN/
Bioconductor version 3.18 (BiocManager 1.30.25), R 4.3.2 (2023-10-31)
Installing package(s) 'mzR'
trying URL 'https://bioconductor.org/packages/3.18/bioc/src/contrib/mzR_2.36.0.tar.gz'
Content type 'application/gzip' length 7673297 bytes (7.3 MB)
==================================================
downloaded 7.3 MB

* installing *source* package ‘mzR’ ...
** using staged installation
** libs
using C++ compiler: ‘g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’
using C++11
rm -f RcppPwiz.o RcppPwizModule.o RcppIdent.o RcppIdentModule.o ./boost/libs/system/src/error_code.o ./boost/libs/regex/src/posix_api.o ./boost/libs/regex/src/regex_debug.o ./boost/libs/regex/src/regex.o ./boost/libs/regex/src/wide_posix_api.o ./boost/libs/regex/src/static_mutex.o ./boost/libs/iostreams/src/zlib.o ./boost/libs/iostreams/src/file_descriptor.o ./boost/libs/filesystem/src/operations.o ./boost/libs/filesystem/src/directory.o ./boost/libs/filesystem/src/exception.o ./boost/libs/filesystem/src/path.o ./boost/libs/filesystem/src/unique_path.o ./boost/libs/filesystem/src/utf8_codecvt_facet.o ./boost/libs/chrono/src/chrono.o ./boost/libs/chrono/src/process_cpu_clocks.o ./boost/libs/chrono/src/thread_clock.o ./pwiz/data/msdata/Version.o ./pwiz/data/identdata/Version.o ./pwiz/data/common/MemoryIndex.o ./pwiz/data/common/CVTranslator.o ./pwiz/data/common/cv.o ./pwiz/data/common/ParamTypes.o ./pwiz/data/common/BinaryIndexStream.o ./pwiz/data/common/diff_std.o ./pwiz/data/common/Unimod.o ./pwiz/data/msdata/mz5/Configuration_mz5.o ./pwiz/data/msdata/mz5/Connection_mz5.o ./pwiz/data/msdata/mz5/Datastructures_mz5.o ./pwiz/data/msdata/mz5/ReferenceRead_mz5.o ./pwiz/data/msdata/mz5/ReferenceWrite_mz5.o ./pwiz/data/msdata/mz5/Translator_mz5.o ./pwiz/data/msdata/DefaultReaderList.o ./pwiz/data/msdata/ChromatogramList_mzML.o ./pwiz/data/msdata/ChromatogramList_mz5.o ./pwiz/data/msdata/examples.o ./pwiz/data/msdata/Serializer_mzML.o ./pwiz/data/msdata/Serializer_MSn.o ./pwiz/data/msdata/Reader.o ./pwiz/data/msdata/Serializer_mz5.o ./pwiz/data/msdata/Serializer_MGF.o ./pwiz/data/msdata/Serializer_mzXML.o ./pwiz/data/msdata/SpectrumListBase.o ./pwiz/data/msdata/SpectrumList_MGF.o ./pwiz/data/msdata/SpectrumList_mzML.o ./pwiz/data/msdata/SpectrumList_MSn.o ./pwiz/data/msdata/SpectrumList_mz5.o ./pwiz/data/msdata/BinaryDataEncoder.o ./pwiz/data/msdata/Diff.o ./pwiz/data/msdata/MSData.o ./pwiz/data/msdata/References.o ./pwiz/data/msdata/SpectrumList_mzXML.o ./pwiz/data/msdata/IO.o ./pwiz/data/msdata/SpectrumList_BTDX.o ./pwiz/data/msdata/SpectrumInfo.o ./pwiz/data/msdata/LegacyAdapter.o ./pwiz/data/msdata/SpectrumIterator.o ./pwiz/data/msdata/MSDataFile.o ./pwiz/data/msdata/MSNumpress.o ./pwiz/data/msdata/SpectrumListCache.o ./pwiz/data/msdata/Index_mzML.o ./pwiz/data/msdata/SpectrumWorkerThreads.o ./pwiz/data/identdata/IdentDataFile.o ./pwiz/data/identdata/IdentData.o ./pwiz/data/identdata/DefaultReaderList.o ./pwiz/data/identdata/Reader.o ./pwiz/data/identdata/Serializer_protXML.o ./pwiz/data/identdata/Serializer_pepXML.o ./pwiz/data/identdata/Serializer_mzid.o ./pwiz/data/identdata/IO.o ./pwiz/data/identdata/References.o ./pwiz/data/identdata/MascotReader.o ./pwiz/data/proteome/Modification.o ./pwiz/data/proteome/Digestion.o ./pwiz/data/proteome/Peptide.o ./pwiz/data/proteome/AminoAcid.o ./pwiz/utility/minimxml/XMLWriter.o ./pwiz/utility/minimxml/SAXParser.o ./pwiz/utility/chemistry/Chemistry.o ./pwiz/utility/chemistry/ChemistryData.o ./pwiz/utility/chemistry/MZTolerance.o ./pwiz/utility/misc/IntegerSet.o ./pwiz/utility/misc/Base64.o ./pwiz/utility/misc/BinaryData.o ./pwiz/utility/misc/IterationListener.o ./pwiz/utility/misc/MSIHandler.o ./pwiz/utility/misc/Filesystem.o ./pwiz/utility/misc/TabReader.o ./pwiz/utility/misc/random_access_compressed_ifstream.o ./pwiz/utility/misc/SHA1.o ./pwiz/utility/misc/SHA1Calculator.o ./pwiz/utility/misc/sha1calc.o ./pwiz/utility/misc/String.o ./RcppExports.o ./boost/libs/thread/src/pthread/once.o ./boost/libs/thread/src/pthread/thread.o
g++ -std=gnu++11 -I"/opt/R/4.3.2/lib/R/include" -DNDEBUG -I./boost_aux/ -I./boost/ -I. -D_LARGEFILE_SOURCE -DHAVE_PWIZ_MZML_LIB -D_NODEBUG    -I'/home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include' -I'/home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rhdf5lib/include' -I/usr/local/include   -O0 -fpic  -g -O2  -c RcppPwiz.cpp -o RcppPwiz.o
g++ -std=gnu++11 -I"/opt/R/4.3.2/lib/R/include" -DNDEBUG -I./boost_aux/ -I./boost/ -I. -D_LARGEFILE_SOURCE -DHAVE_PWIZ_MZML_LIB -D_NODEBUG    -I'/home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include' -I'/home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rhdf5lib/include' -I/usr/local/include   -O0 -fpic  -g -O2  -c RcppPwizModule.cpp -o RcppPwizModule.o
during GIMPLE pass: ch
In file included from /home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include/Rcpp/Module.h:523,
                 from /home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include/Rcpp.h:69,
                 from RcppPwizModule.cpp:1:
/home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include/Rcpp/module/class.h: In member function ‘bool Rcpp::class_<Class>::has_default_constructor() [with Class = RcppPwiz]’:
/home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include/Rcpp/module/class.h:163:14: internal compiler error: Segmentation fault
  163 |         bool has_default_constructor(){
      |              ^~~~~~~~~~~~~~~~~~~~~~~
0xe34ddb internal_error(char const*, ...)
	???:0
0xf1f9e9 diagnostic_set_info(diagnostic_info*, char const*, __va_list_tag (*) [1], rich_location*, diagnostic_t)
	???:0
0xe34ddb internal_error(char const*, ...)
	???:0
0xe2b903 fancy_abort(char const*, int, char const*)
	???:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions.
make: *** [/opt/R/4.3.2/lib/R/etc/Makeconf:200: RcppPwizModule.o] Error 1
ERROR: compilation failed for package ‘mzR’
* removing ‘/home/joe/R/x86_64-pc-linux-gnu-library/4.3/mzR’

The downloaded source packages are in
	‘/tmp/Rtmp0xnU8U/downloaded_packages’
Installation paths not writeable, unable to update packages
  path: /opt/R/4.3.2/lib/R/library
  packages:
    boot, cluster, codetools, foreign, KernSmooth, lattice, mgcv, nlme, rpart, survival
Old packages: 'anticlust', 'aplot', 'arrow', 'bbotk', 'broom', 'car', 'ccaPP', 'CelliD', 'crul', 'datawizard', 'dbscan',
  'densvis', 'distributional', 'downlit', 'e1071', 'emmeans', 'flextable', 'fpc', 'gdtools', 'geomtextpath', 'gert', 'ggfun',
  'ggiraph', 'glue', 'graphlayouts', 'hardhat', 'harmony', 'hdf5r', 'Hmisc', 'htmlTable', 'httr2', 'insight', 'ipred',
  'leidenbase', 'lme4', 'loo', 'magick', 'markdown', 'metatools', 'minqa', 'mlr3', 'mlr3fselect', 'mlr3hyperband',
  'mlr3learners', 'mlr3mbo', 'mlr3measures', 'mlr3misc', 'mlr3pipelines', 'mlr3tuning', 'mlr3tuningspaces', 'mlr3verse',
  'mlr3viz', 'multcomp', 'NMF', 'officer', 'openxlsx', 'ordinal', 'pals', 'paradox', 'pbkrtest', 'pcaPP', 'pkgdown',
  'pkgload', 'polspline', 'posterior', 'prodlim', 'profvis', 'psych', 'qlcMatrix', 'qs', 'quantreg', 'QuickJSR',
  'RApiSerialize', 'RcppRoll', 'recipes', 'reprex', 'rjson', 'robustbase', 'roxygen2', 'RSQLite', 'rvg', 's2', 'scatterpie',
  'Seurat', 'sf', 'Signac', 'sjmisc', 'spData', 'spdep', 'StanHeaders', 'terra', 'tm', 'TraMineR', 'usethis', 'uwot',
  'waldo', 'WeightedCluster', 'WGCNA', 'yulab.utils'
Update all/some/none? [a/s/n]: 
n

gcc version:

gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you need any further information, please let me know at your earliest convenience. Thank you!

@Doctorluka
Copy link
Author

Doctorluka commented Oct 4, 2024

my sessionInfo():

R version 4.3.2 (2023-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.5 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so;  LAPACK version 3.10.0

locale:
 [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8        LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8   
 [6] LC_MESSAGES=C.UTF-8    LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C           LC_TELEPHONE=C        
[11] LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   

time zone: Asia/Shanghai
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] BiocManager_1.30.25 compiler_4.3.2      tools_4.3.2  

@sneumann
Copy link
Owner

sneumann commented Oct 7, 2024

Hi,
hm, haven't seen those in a while :-( So there are some systems where this works:
https://bioconductor.org/checkResults/devel/bioc-LATEST/mzR/
so it might be specific to your setup. If I compare to my setup, an immediate difference might be that your R is compiled against /usr/lib/x86_64-linux-gnu/openblas-pthread/ (from [libopenblas0-pthread](https://packages.ubuntu.com/jammy/libopenblas0-pthread)), while here I have /usr/lib/x86_64-linux-gnu/blas/ (from libblas3:amd64).

In the old days, I encountered internal compiler errors with too much optimisation: Do you get the same error if you copy&paste the compile command manually without -O0 -O2 (see below) ?

And/or, could you try to swap the BLAS libraries, so we can confirm they are the factor causing the SEGV ? Bonus points if you create a Dockerfile to reproduce, so others might be able to chime in, possibly even the gcc or openblas folks.

Yours,
Steffen

g++ -std=gnu++11 -I"/opt/R/4.3.2/lib/R/include" -DNDEBUG -I./boost_aux/ -I./boost/ -I. -D_LARGEFILE_SOURCE -DHAVE_PWIZ_MZML_LIB -D_NODEBUG    -I'/home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rcpp/include' -I'/home/joe/R/x86_64-pc-linux-gnu-library/4.3/Rhdf5lib/include' -I/usr/local/include -fpic  -g -c RcppPwizModule.cpp -o RcppPwizModule.o

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants