RGLab / cytolib

c++ library for representing and interacting the gated cytometry data structure
GNU Affero General Public License v3.0
12 stars 11 forks source link

Install fails with BH 1.78.0-0 #49

Open RoganGrant opened 2 years ago

RoganGrant commented 2 years ago

Describe the bug Install proceeds fully with BH 1.75.0-0 (installed from source), but with 1.78.0-0 I get the following error traceback. Appears to be an issue with boost/libs/filesystem/src/path.o?

Bioconductor version 3.14 (BiocManager 1.30.16), R 4.1.1 (2021-08-10)
Installing package(s) 'cytolib'
trying URL 'https://bioconductor.org/packages/3.14/bioc/src/contrib/cytolib_2.6.0.tar.gz'
Content type 'application/x-gzip' length 5463300 bytes (5.2 MB)
==================================================
downloaded 5.2 MB

* installing *source* package ‘cytolib’ ...
** using staged installation
checking for a sed that does not truncate output... /usr/bin/sed
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 /software/gcc/11.2.0/bin/g++ accepts -g... yes
checking how to run the C++ preprocessor... /software/gcc/11.2.0/bin/g++ -E
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether /software/gcc/11.2.0/bin/g++ accepts -g... (cached) yes
configure: Parsing cytolib version info ...
configure: CYTOLIB_VERSION=2.6.0
configure: creating ./config.status
config.status: creating inst/include/cytolib/cytolibConfig.h
config.status: creating src/Makevars
** libs
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c dummy.cpp -o dummy.o
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c boost/libs/system/src/error_code.cpp -o boost/libs/system/src/error_code.o
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c boost/libs/filesystem/src/path_traits.cpp -o boost/libs/filesystem/src/path_traits.o
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c boost/libs/filesystem/src/codecvt_error_category.cpp -o boost/libs/filesystem/src/codecvt_error_category.o
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c boost/libs/filesystem/src/utf8_codecvt_facet.cpp -o boost/libs/filesystem/src/utf8_codecvt_facet.o
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c boost/libs/filesystem/src/windows_file_codecvt.cpp -o boost/libs/filesystem/src/windows_file_codecvt.o
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c boost/libs/filesystem/src/exception.cpp -o boost/libs/filesystem/src/exception.o
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c boost/libs/filesystem/src/directory.cpp -o boost/libs/filesystem/src/directory.o
g++ -std=gnu++11 -I"/software/R/4.1.1/lib64/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rcpp/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RProtoBufLib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/Rhdf5lib/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppArmadillo/include' -I'/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/RcppParallel/include' -I/software/supplemental/zlib/1.2.8/include -I/software/pcre/8.44/include -I/software/curl/7.73.0/include -I/software/cairo/1.16/include -I/software/supplemental/bzip2/1.0.8/include  -std=c++11 -fpic  -g -O2  -c boost/libs/filesystem/src/path.cpp -o boost/libs/filesystem/src/path.o
boost/libs/filesystem/src/path.cpp:124:31: error: no declaration matches ‘boost::filesystem::path& boost::filesystem::path::operator/=(const boost::filesystem::path&)’
  124 |   BOOST_FILESYSTEM_DECL path& path::operator/=(const path& p)
      |                               ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:559:13: note: candidate is: ‘template<class Source> typename boost::enable_if_c<(boost::filesystem::path_traits::is_pathable<typename boost::decay<Source>::type>::value || boost::filesystem::path_detail::is_native_pathable<T>::value), boost::filesystem::path&>::type boost::filesystem::path::operator/=(const Source&)’
  559 |     >::type operator/=(Source const& source)
      |             ^~~~~~~~
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:132:7: note: ‘class boost::filesystem::path’ defined here
  132 | class path :
      |       ^~~~
boost/libs/filesystem/src/path.cpp:144:31: error: no declaration matches ‘boost::filesystem::path& boost::filesystem::path::operator/=(const value_type*)’
  144 |   BOOST_FILESYSTEM_DECL path& path::operator/=(const value_type* ptr)
      |                               ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:559:13: note: candidate is: ‘template<class Source> typename boost::enable_if_c<(boost::filesystem::path_traits::is_pathable<typename boost::decay<Source>::type>::value || boost::filesystem::path_detail::is_native_pathable<T>::value), boost::filesystem::path&>::type boost::filesystem::path::operator/=(const Source&)’
  559 |     >::type operator/=(Source const& source)
      |             ^~~~~~~~
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:132:7: note: ‘class boost::filesystem::path’ defined here
  132 | class path :
      |       ^~~~
boost/libs/filesystem/src/path.cpp:176:29: error: redefinition of ‘int boost::filesystem::path::compare(const boost::filesystem::path&) const’
  176 |   BOOST_FILESYSTEM_DECL int path::compare(const path& p) const BOOST_NOEXCEPT
      |                             ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:780:27: note: ‘int boost::filesystem::path::compare(const boost::filesystem::path&) const’ previously defined here
  780 |     BOOST_FORCEINLINE int compare(path const& p) const BOOST_NOEXCEPT // generic, lexicographical
      |                           ^~~~~~~
boost/libs/filesystem/src/path.cpp:183:54: error: no declaration matches ‘std::__cxx11::basic_string<char>::size_type boost::filesystem::path::m_append_separator_if_needed()’
  183 |   BOOST_FILESYSTEM_DECL path::string_type::size_type path::m_append_separator_if_needed()
      |                                                      ^~~~
boost/libs/filesystem/src/path.cpp:183:54: note: no functions named ‘std::__cxx11::basic_string<char>::size_type boost::filesystem::path::m_append_separator_if_needed()’
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:132:7: note: ‘class boost::filesystem::path’ defined here
  132 | class path :
      |       ^~~~
boost/libs/filesystem/src/path.cpp:200:30: error: no declaration matches ‘void boost::filesystem::path::m_erase_redundant_separator(std::__cxx11::basic_string<char>::size_type)’
  200 |   BOOST_FILESYSTEM_DECL void path::m_erase_redundant_separator(string_type::size_type sep_pos)
      |                              ^~~~
boost/libs/filesystem/src/path.cpp:200:30: note: no functions named ‘void boost::filesystem::path::m_erase_redundant_separator(std::__cxx11::basic_string<char>::size_type)’
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:132:7: note: ‘class boost::filesystem::path’ defined here
  132 | class path :
      |       ^~~~
boost/libs/filesystem/src/path.cpp: In member function ‘boost::filesystem::path& boost::filesystem::path::remove_filename()’:
boost/libs/filesystem/src/path.cpp:223:22: error: ‘m_parent_path_end’ was not declared in this scope; did you mean ‘parent_path’?
  223 |     m_pathname.erase(m_parent_path_end());
      |                      ^~~~~~~~~~~~~~~~~
      |                      parent_path
boost/libs/filesystem/src/path.cpp: At global scope:
boost/libs/filesystem/src/path.cpp:253:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::root_path() const’
  253 |   BOOST_FILESYSTEM_DECL path path::root_path() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:789:10: note: ‘boost::filesystem::path boost::filesystem::path::root_path() const’ previously defined here
  789 |     path root_path() const { return path(m_pathname.c_str(), m_pathname.c_str() + find_root_path_size()); }
      |          ^~~~~~~~~
boost/libs/filesystem/src/path.cpp:260:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::root_name() const’
  260 |   BOOST_FILESYSTEM_DECL path path::root_name() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:791:10: note: ‘boost::filesystem::path boost::filesystem::path::root_name() const’ previously defined here
  791 |     path root_name() const { return path(m_pathname.c_str(), m_pathname.c_str() + find_root_name_size()); }
      |          ^~~~~~~~~
boost/libs/filesystem/src/path.cpp:277:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::root_directory() const’
  277 |   BOOST_FILESYSTEM_DECL path path::root_directory() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:794:10: note: ‘boost::filesystem::path boost::filesystem::path::root_directory() const’ previously defined here
  794 |     path root_directory() const
      |          ^~~~~~~~~~~~~~
boost/libs/filesystem/src/path.cpp:286:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::relative_path() const’
  286 |   BOOST_FILESYSTEM_DECL path path::relative_path() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:801:10: note: ‘boost::filesystem::path boost::filesystem::path::relative_path() const’ previously defined here
  801 |     path relative_path() const
      |          ^~~~~~~~~~~~~
boost/libs/filesystem/src/path.cpp:300:48: error: no declaration matches ‘std::__cxx11::basic_string<char>::size_type boost::filesystem::path::m_parent_path_end() const’
  300 |   BOOST_FILESYSTEM_DECL string_type::size_type path::m_parent_path_end() const
      |                                                ^~~~
boost/libs/filesystem/src/path.cpp:300:48: note: no functions named ‘std::__cxx11::basic_string<char>::size_type boost::filesystem::path::m_parent_path_end() const’
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:132:7: note: ‘class boost::filesystem::path’ defined here
  132 | class path :
      |       ^~~~
boost/libs/filesystem/src/path.cpp:321:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::parent_path() const’
  321 |   BOOST_FILESYSTEM_DECL path path::parent_path() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:808:10: note: ‘boost::filesystem::path boost::filesystem::path::parent_path() const’ previously defined here
  808 |     path parent_path() const { return path(m_pathname.c_str(), m_pathname.c_str() + find_parent_path_size()); }
      |          ^~~~~~~~~~~
boost/libs/filesystem/src/path.cpp:329:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::filename() const’
  329 |   BOOST_FILESYSTEM_DECL path path::filename() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:810:28: note: ‘boost::filesystem::path boost::filesystem::path::filename() const’ previously defined here
  810 |     BOOST_FORCEINLINE path filename() const { return BOOST_FILESYSTEM_VERSIONED_SYM(filename)(); }   // returns 0 or 1 element path
      |                            ^~~~~~~~
boost/libs/filesystem/src/path.cpp:340:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::stem() const’
  340 |   BOOST_FILESYSTEM_DECL path path::stem() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:811:28: note: ‘boost::filesystem::path boost::filesystem::path::stem() const’ previously defined here
  811 |     BOOST_FORCEINLINE path stem() const { return BOOST_FILESYSTEM_VERSIONED_SYM(stem)(); }           // returns 0 or 1 element path
      |                            ^~~~
boost/libs/filesystem/src/path.cpp:350:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::extension() const’
  350 |   BOOST_FILESYSTEM_DECL path path::extension() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:812:28: note: ‘boost::filesystem::path boost::filesystem::path::extension() const’ previously defined here
  812 |     BOOST_FORCEINLINE path extension() const { return BOOST_FILESYSTEM_VERSIONED_SYM(extension)(); } // returns 0 or 1 element path
      |                            ^~~~~~~~~
boost/libs/filesystem/src/path.cpp:412:30: error: redefinition of ‘boost::filesystem::path boost::filesystem::path::lexically_normal() const’
  412 |   BOOST_FILESYSTEM_DECL path path::lexically_normal() const
      |                              ^~~~
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:840:28: note: ‘boost::filesystem::path boost::filesystem::path::lexically_normal() const’ previously defined here
  840 |     BOOST_FORCEINLINE path lexically_normal() const { return BOOST_FILESYSTEM_VERSIONED_SYM(lexically_normal)(); }
      |                            ^~~~~~~~~~~~~~~~
boost/libs/filesystem/src/path.cpp:741:30: error: no declaration matches ‘void boost::filesystem::path::m_path_iterator_increment(boost::filesystem::path::iterator&)’
  741 |   BOOST_FILESYSTEM_DECL void path::m_path_iterator_increment(path::iterator & it)
      |                              ^~~~
boost/libs/filesystem/src/path.cpp:741:30: note: no functions named ‘void boost::filesystem::path::m_path_iterator_increment(boost::filesystem::path::iterator&)’
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:132:7: note: ‘class boost::filesystem::path’ defined here
  132 | class path :
      |       ^~~~
boost/libs/filesystem/src/path.cpp:800:30: error: no declaration matches ‘void boost::filesystem::path::m_path_iterator_decrement(boost::filesystem::path::iterator&)’
  800 |   BOOST_FILESYSTEM_DECL void path::m_path_iterator_decrement(path::iterator & it)
      |                              ^~~~
boost/libs/filesystem/src/path.cpp:800:30: note: no functions named ‘void boost::filesystem::path::m_path_iterator_decrement(boost::filesystem::path::iterator&)’
In file included from boost/libs/filesystem/src/path.cpp:19:
/home/rag0151/aging_microglia_flu/renv/library/R-4.1/x86_64-pc-linux-gnu/BH/include/boost/filesystem/path.hpp:132:7: note: ‘class boost::filesystem::path’ defined here
  132 | class path :
      |       ^~~~
make: *** [boost/libs/filesystem/src/path.o] Error 1

SessionInfo:

R version 4.1.1 (2021-08-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server 7.5 (Maipo)

Matrix products: default
BLAS:   /hpc/software/R/4.1.1/lib64/R/lib/libRblas.so
LAPACK: /hpc/software/R/4.1.1/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

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

loaded via a namespace (and not attached):
[1] BiocManager_1.30.16 compiler_4.1.1      tools_4.1.1         renv_0.14.0   
bgbrink commented 2 years ago

I am having the same issue with installing cytolib in the bioconductor/bioconductor_docker.

mikejiang commented 2 years ago

the bundled boost source code is out of sync, I will push the fix shortly

mikejiang commented 2 years ago

turned out the process of bundling the latest boost file system library is not straightforward as used to be, here is how I did it:

extraction file system module from boost: download boost_1_78 ./bootstrap.sh ./b2 tools/bcp mkdir foo ./dist/bin/bcp boost/filesystem foo/

Use foo/* to replace the existing old version of bundled file system library in cytolib, i.e.cytolib/src/boost/libs then re-compile cytolib but running into errors

g++ -std=gnu++11 -I"/usr/local/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -I'/usr/local/lib/R/site-library/Rcpp/include' -I'/usr/local/lib/R/site-library/BH/include' -I'/usr/local/lib/R/site-library/RProtoBufLib/include' -I'/usr/local/lib/R/site-library/Rhdf5lib/include' -I'/usr/local/lib/R/site-library/RcppArmadillo/include' -I'/usr/local/lib/R/site-library/RcppParallel/include' -I/usr/local/include   -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c boost/libs/filesystem/src/path.cpp -o boost/libs/filesystem/src/path.o
In file included from boost/libs/filesystem/src/path.cpp:39:
boost/libs/filesystem/src/atomic_tools.hpp: In function ‘T boost::filesystem::detail::atomic_load_relaxed(T&)’:
boost/libs/filesystem/src/atomic_tools.hpp:29:23: error: ‘atomic_ref’ is not a member of ‘atomic_ns’; did you mean ‘atomic_int’?
   29 |     return atomic_ns::atomic_ref< T >(a).load(atomic_ns::memory_order_relaxed);
      |                       ^~~~~~~~~~
      |                       atomic_int
boost/libs/filesystem/src/atomic_tools.hpp:29:37: error: expected primary-expression before ‘>’ token
   29 |     return atomic_ns::atomic_ref< T >(a).load(atomic_ns::memory_order_relaxed);
      |  

I will give it another try tomorrow

jacobpwagner commented 2 years ago

Hey @mikejiang. I know you've been investigating this, but I was looking at it as well and tracing the atomic_ref issue. It looks like it may just come down to figuring out how to make configuration use boost::atomic instead of std::atomic, which may not allow support for atomic_ref even with C++20 specified. I think config should catch that. Anyway, as a workaround to test, I simply updated the filesystem and system subdirs in cytolib/src/boost/libs to the 1.78.0 versions (without any other bootstrapping or configuration) and just commented out lines to force this else block. With just those changes, cytolib compiles and flowWorkspace clean rebuilds and tests successfully in my hands (clang 13.0.0).

Anyway, you probably were already figuring all of that out and are working on a less hacky way to fix it, but just in case it helps at all I thought I'd mention it.

mikejiang commented 2 years ago

Thanks @jacobpwagner for pointing to the right direction, I ended up doing this

PKG_CPPFLAGS =-DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED 
mikejiang commented 2 years ago

I have pushed the patch to bioconductor the latest release and development branch

jacobpwagner commented 2 years ago

Ah yes. Of course. Much better way. Thanks!

eleniel-mocna commented 2 years ago

Installing into rocker/rstudio still crashes. A quick workaround is just using image rocker/rstudio:4.0.5, which still uses boost 1.75.0. (This works, just gives a lot of deprecation warnings about the given headers...)

wu-yc commented 2 years ago

Any updates on the solutions?

mikejiang commented 2 years ago

If you are on the latest version of R and all the other packages, it should build

FMKerckhof commented 1 year ago

@mikejiang with the latest version of BH (1.81.0-1) it appears I have issues to compile the latest version of Cytolib (on Amazon Linux 2), could it be that the bundled boost code is out of sync again?

#8 1204.9 checking whether g++ accepts -g... (cached) yes
#8 1204.9 configure: Parsing cytolib version info ...
#8 1204.9 configure: CYTOLIB_VERSION=2.10.0
#8 1204.9 configure: creating ./config.status
#8 1204.9 config.status: creating inst/include/cytolib/cytolibConfig.h
#8 1204.9 config.status: creating src/Makevars
#8 1204.9 ** libs
#8 1204.9 g++ -std=gnu++11 -I"/opt/R/4.2.2/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/opt/R/4.2.2/lib/R/library/.renv/1/BH/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/RProtoBufLib/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/Rhdf5lib/include' -I/usr/local/include  
 -fpic  -g -O2  -c dummy.cpp -o dummy.o
#8 1204.9 g++ -std=gnu++11 -I"/opt/R/4.2.2/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/opt/R/4.2.2/lib/R/library/.renv/1/BH/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/RProtoBufLib/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/Rhdf5lib/include' -I/usr/local/include  
 -fpic  -g -O2  -c boost/libs/system/src/error_code.cpp -o boost/libs/system/src/error_code.o
#8 1204.9 g++ -std=gnu++11 -I"/opt/R/4.2.2/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/opt/R/4.2.2/lib/R/library/.renv/1/BH/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/RProtoBufLib/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/Rhdf5lib/include' -I/usr/local/include  
 -fpic  -g -O2  -c boost/libs/filesystem/src/path_traits.cpp -o boost/libs/filesystem/src/path_traits.o
#8 1204.9 g++ -std=gnu++11 -I"/opt/R/4.2.2/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/opt/R/4.2.2/lib/R/library/.renv/1/BH/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/RProtoBufLib/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/Rhdf5lib/include' -I/usr/local/include  
 -fpic  -g -O2  -c boost/libs/filesystem/src/codecvt_error_category.cpp -o boost/libs/filesystem/src/codecvt_error_category.o#8 1204.9 g++ -std=gnu++11 -I"/opt/R/4.2.2/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/opt/R/4.2.2/lib/R/library/.renv/1/BH/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/RProtoBufLib/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/Rhdf5lib/include' -I/usr/local/include  
 -fpic  -g -O2  -c boost/libs/filesystem/src/utf8_codecvt_facet.cpp -o boost/libs/filesystem/src/utf8_codecvt_facet.o        
#8 1204.9 g++ -std=gnu++11 -I"/opt/R/4.2.2/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/opt/R/4.2.2/lib/R/library/.renv/1/BH/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/RProtoBufLib/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/Rhdf5lib/include' -I/usr/local/include  
 -fpic  -g -O2  -c boost/libs/filesystem/src/windows_file_codecvt.cpp -o boost/libs/filesystem/src/windows_file_codecvt.o
#8 1204.9 g++ -std=gnu++11 -I"/opt/R/4.2.2/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/opt/R/4.2.2/lib/R/library/.renv/1/BH/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/RProtoBufLib/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/Rhdf5lib/include' -I/usr/local/include  
 -fpic  -g -O2  -c boost/libs/filesystem/src/exception.cpp -o boost/libs/filesystem/src/exception.o
#8 1204.9 g++ -std=gnu++11 -I"/opt/R/4.2.2/lib/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/opt/R/4.2.2/lib/R/library/.renv/1/BH/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/RProtoBufLib/include' -I'/opt/R/4.2.2/lib/R/library/.renv/1/Rhdf5lib/include' -I/usr/local/include  
 -fpic  -g -O2  -c boost/libs/filesystem/src/directory.cpp -o boost/libs/filesystem/src/directory.o
#8 1204.9 boost/libs/filesystem/src/directory.cpp:134:15: error: ‘codecvt_type’ has not been declared
#8 1204.9                codecvt_type const&)
#8 1204.9                ^~~~~~~~~~~~
#8 1204.9 boost/libs/filesystem/src/directory.cpp: In function ‘boost::system::error_code boost::filesystem::detail::{anonymous}::dir_itr_increment(void*&, void*&, std::__cxx11::string&, boost::filesystem::file_status&, boost::filesystem::file_status&)’:
#8 1204.9 boost/libs/filesystem/src/directory.cpp:264:28: error: ‘dir_itr_close’ is not a member of ‘boost::filesystem::detail’
#8 1204.9          return fs::detail::dir_itr_close(handle, buffer);
#8 1204.9                             ^~~~~~~~~~~~~
#8 1204.9 boost/libs/filesystem/src/directory.cpp:264:28: note: suggested alternative: ‘dir_itr_imp’
#8 1204.9          return fs::detail::dir_itr_close(handle, buffer);
#8 1204.9                             ^~~~~~~~~~~~~
#8 1204.9                             dir_itr_imp
#8 1204.9 boost/libs/filesystem/src/directory.cpp: In function ‘void boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, const boost::filesystem::path&, unsigned int, boost::system::error_code*)’:
#8 1204.9 boost/libs/filesystem/src/directory.cpp:445:39: error: no matching function for call to ‘boost::filesystem::detail::dir_itr_imp::operator new(sizetype)’
#8 1204.9          imp = new detail::dir_itr_imp();
#8 1204.9                                        ^
#8 1204.9 In file included from boost/libs/filesystem/src/directory.cpp:17:0:
#8 1204.9 /opt/R/4.2.2/lib/R/library/.renv/1/BH/include/boost/filesystem/directory.hpp:317:40: note: candidate: static void* 
boost::filesystem::detail::dir_itr_imp::operator new(std::size_t, std::size_t)
#8 1204.9      BOOST_FILESYSTEM_DECL static void* operator new(std::size_t class_size, std::size_t extra_size) BOOST_NOEXCEPT;
#8 1204.9                                         ^~~~~~~~
#8 1204.9 /opt/R/4.2.2/lib/R/library/.renv/1/BH/include/boost/filesystem/directory.hpp:317:40: note:   candidate expects 2 arguments, 1 provided
#8 1204.9 boost/libs/filesystem/src/directory.cpp:449:54: error: no matching function for call to ‘boost::filesystem::detail::dir_itr_imp::operator new(sizetype, const std::nothrow_t&)’
#8 1204.9          imp = new (std::nothrow) detail::dir_itr_imp();
#8 1204.9                                                       ^
#8 1204.9 In file included from boost/libs/filesystem/src/directory.cpp:17:0:
#8 1204.9 /opt/R/4.2.2/lib/R/library/.renv/1/BH/include/boost/filesystem/directory.hpp:317:40: note: candidate: static void* 
boost::filesystem::detail::dir_itr_imp::operator new(std::size_t, std::size_t)
#8 1204.9      BOOST_FILESYSTEM_DECL static void* operator new(std::size_t class_size, std::size_t extra_size) BOOST_NOEXCEPT;
#8 1204.9                                         ^~~~~~~~
#8 1204.9 /opt/R/4.2.2/lib/R/library/.renv/1/BH/include/boost/filesystem/directory.hpp:317:40: note:   no known conversion for argument 2 from ‘const std::nothrow_t’ to ‘std::size_t {aka long unsigned int}’
#8 1204.9 boost/libs/filesystem/src/directory.cpp:463:48: error: ‘struct boost::filesystem::detail::dir_itr_imp’ has no member named ‘buffer’
#8 1204.9                                            imp->buffer,
#8 1204.9                                                 ^~~~~~
#8 1204.9 boost/libs/filesystem/src/directory.cpp:481:16: error: ‘boost::intrusive_ptr<boost::filesystem::detail::dir_itr_imp> boost::filesystem::directory_iterator::m_imp’ is private within this context
#8 1204.9              it.m_imp.swap(imp);
#8 1204.9                 ^~~~~
#8 1204.9 In file included from boost/libs/filesystem/src/directory.cpp:17:0:
#8 1204.9 /opt/R/4.2.2/lib/R/library/.renv/1/BH/include/boost/filesystem/directory.hpp:417:49: note: declared private here   
#8 1204.9      boost::intrusive_ptr< detail::dir_itr_imp > m_imp;
#8 1204.9                                                  ^~~~~
#8 1204.9 boost/libs/filesystem/src/directory.cpp:482:16: error: ‘boost::intrusive_ptr<boost::filesystem::detail::dir_itr_imp> boost::filesystem::directory_iterator::m_imp’ is private within this context
#8 1204.9              it.m_imp->dir_entry.assign(p / filename, file_stat, symlink_file_stat);
#8 1204.9                 ^~~~~
#8 1204.9 In file included from boost/libs/filesystem/src/directory.cpp:17:0:
#8 1204.9 /opt/R/4.2.2/lib/R/library/.renv/1/BH/include/boost/filesystem/directory.hpp:417:49: note: declared private here   
#8 1204.9      boost::intrusive_ptr< detail::dir_itr_imp > m_imp;
#8 1204.9                                                  ^~~~~
#8 1204.9 boost/libs/filesystem/src/directory.cpp:498:12: error: ‘boost::intrusive_ptr<boost::filesystem::detail::dir_itr_imp> boost::filesystem::directory_iterator::m_imp’ is private within this context
#8 1204.9          it.m_imp.reset();
#8 1204.9             ^~~~~
#8 1204.9 In file included from boost/libs/filesystem/src/directory.cpp:17:0:
#8 1204.9 /opt/R/4.2.2/lib/R/library/.renv/1/BH/include/boost/filesystem/directory.hpp:417:49: note: declared private here   
#8 1204.9      boost::intrusive_ptr< detail::dir_itr_imp > m_imp;
#8 1204.9                                                  ^~~~~
#8 1204.9 boost/libs/filesystem/src/directory.cpp: In function ‘void boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)’:
#8 1204.9 boost/libs/filesystem/src/directory.cpp:520:56: error: ‘struct boost::filesystem::detail::dir_itr_imp’ has no member named ‘buffer’
#8 1204.9                                               it.m_imp->buffer,
#8 1204.9                                                         ^~~~~~
#8 1204.9 make: *** [boost/libs/filesystem/src/directory.o] Error 1
#8 1204.9 ERROR: compilation failed for package ‘cytolib’
#8 1204.9 * removing ‘/opt/R/4.2.2/lib/R/library/.renv/1/cytolib’
#8 1204.9 Traceback (most recent calls last):
#8 1204.9 12: renv::restore()
#8 1204.9 11: renv_restore_run_actions(project, diff, current, lockfile, rebuild)
#8 1204.9 10: renv_install_impl(records)
#8 1204.9  9: renv_install_staged(records)
#8 1204.9  8: renv_install_default(records)
#8 1204.9  7: handler(package, renv_install_package(record))
#8 1204.9  6: renv_install_package(record)
#8 1204.9  5: withCallingHandlers(renv_install_package_impl(record), error = function(e) {
#8 1204.9         vwritef("\tFAILED")
#8 1204.9         writef(e$output)
#8 1204.9     })
#8 1204.9  4: renv_install_package_impl(record)
#8 1204.9  3: r_cmd_install(package, path)
#8 1204.9  2: r_exec_error(package, output, "install", status)
#8 1204.9  1: stop(error)
#8 1205.6 Execution halted
mikejiang commented 1 year ago

@FMKerckhof Thank you for reporting, patch is pushed

fbenedett commented 1 year ago

I have the same error. Currently I am on ubuntu 22.04. Session info:


R version 4.1.2 (2021-11-01)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

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

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

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.10         rstudioapi_0.14     magrittr_2.0.3      tidyselect_1.2.0    R6_2.5.1            rlang_1.0.6         fansi_1.0.4         stringr_1.5.0       plyr_1.8.8          dplyr_1.1.0        
[11] tools_4.1.2         utf8_1.2.3          cli_3.6.0           readxl_1.4.1        tibble_3.1.8        lifecycle_1.0.3     BiocManager_1.30.19 purrr_1.0.1         reshape2_1.4.4      tidyr_1.3.0        
[21] vctrs_0.5.2         glue_1.6.2          stringi_1.7.12      compiler_4.1.2      pillar_1.8.1        cellranger_1.1.0    generics_0.1.3      pkgconfig_2.0.3    

```How can I solve it?
FMKerckhof commented 1 year ago

@fbenedett : with the latest BH (CRAN) and cytolib (bioconductor) I was able to build on Ubuntu 22.04, 20.04, 18.04 and amazon linux 2 latest without any problems. Try to make sure you have the latest R, bioconductor (3.16) and it should work. My session on 22.04:

R version 4.2.2 (2022-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 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

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   

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

other attached packages:
 [1] ggcyto_1.26.4                   flowWorkspace_4.10.1            ncdfFlow_2.44.0                
 [4] BH_1.81.0-1                     ClusterR_1.3.0                  tictoc_1.1                     
 [7] forcats_0.5.2                   stringr_1.5.0                   purrr_1.0.1                    
[10] readr_2.1.3                     tidyr_1.3.0                     tibble_3.1.8                   
[13] tidyverse_1.3.2                 patchwork_1.1.2                 GGally_2.1.2                   
[16] lubridate_1.9.1                 gam_1.22                        plotly_4.10.1                  
[19] parsedate_1.3.1                 scales_1.2.1                    ggplot2_3.4.0.9000 
LuisaFJimenez commented 1 year ago

Dear All, I am really struggling to install the flowCell because if the cytolib. Help! Warning: Not too much experience with R. I have updated the Bioconductor, and my R is 4.2.2. Update: Using Linux Mint 20.

Here is the last command for the g++ and the following errors and messages:

g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF -DBOOST_FILESYSTEM_SINGLE_THREADED  -I'/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/Rcpp/include' -I'/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/BH/include' -I'/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/RProtoBufLib/include' -I'/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/Rhdf5lib/include' -I'/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/RcppArmadillo/include' -I'/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/RcppParallel/include'    -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-a3XuZ5/r-base-4.2.2.20221110=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -c boost/libs/filesystem/src/directory.cpp -o boost/libs/filesystem/src/directory.o
boost/libs/filesystem/src/directory.cpp:134:15: error: ‘codecvt_type’ has not been declared
  134 |               codecvt_type const&)
      |               ^~~~~~~~~~~~
boost/libs/filesystem/src/directory.cpp: In function ‘boost::system::error_code boost::filesystem::detail::{anonymous}::dir_itr_increment(void*&, void*&, std::string&, boost::filesystem::file_status&, boost::filesystem::file_status&)’:
boost/libs/filesystem/src/directory.cpp:264:28: error: ‘dir_itr_close’ is not a member of ‘boost::filesystem::detail’; did you mean ‘dir_itr_imp’?
  264 |         return fs::detail::dir_itr_close(handle, buffer);
      |                            ^~~~~~~~~~~~~
      |                            dir_itr_imp
boost/libs/filesystem/src/directory.cpp: In function ‘void boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, const boost::filesystem::path&, unsigned int, boost::system::error_code*)’:
boost/libs/filesystem/src/directory.cpp:445:39: error: no matching function for call to ‘boost::filesystem::detail::dir_itr_imp::operator new(sizetype)’
  445 |         imp = new detail::dir_itr_imp();
      |                                       ^
In file included from boost/libs/filesystem/src/directory.cpp:17:
/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/BH/include/boost/filesystem/directory.hpp:317:40: note: candidate: ‘static void* boost::filesystem::detail::dir_itr_imp::operator new(std::size_t, std::size_t)’
  317 |     BOOST_FILESYSTEM_DECL static void* operator new(std::size_t class_size, std::size_t extra_size) BOOST_NOEXCEPT;
      |                                        ^~~~~~~~
/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/BH/include/boost/filesystem/directory.hpp:317:40: note:   candidate expects 2 arguments, 1 provided
boost/libs/filesystem/src/directory.cpp:449:25: error: cannot convert ‘const std::nothrow_t’ to ‘std::size_t’ {aka ‘long unsigned int’}
  449 |         imp = new (std::nothrow) detail::dir_itr_imp();
      |                    ~~~~~^~~~~~~
      |                         |
      |                         const std::nothrow_t
In file included from boost/libs/filesystem/src/directory.cpp:17:
/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/BH/include/boost/filesystem/directory.hpp:317:89: note:   initializing argument 2 of ‘static void* boost::filesystem::detail::dir_itr_imp::operator new(std::size_t, std::size_t)’
  317 |     BOOST_FILESYSTEM_DECL static void* operator new(std::size_t class_size, std::size_t extra_size) BOOST_NOEXCEPT;
      |                                                                             ~~~~~~~~~~~~^~~~~~~~~~
boost/libs/filesystem/src/directory.cpp:463:48: error: ‘struct boost::filesystem::detail::dir_itr_imp’ has no member named ‘buffer’
  463 |                                           imp->buffer,
      |                                                ^~~~~~
boost/libs/filesystem/src/directory.cpp:481:16: error: ‘boost::intrusive_ptr<boost::filesystem::detail::dir_itr_imp> boost::filesystem::directory_iterator::m_imp’ is private within this context
  481 |             it.m_imp.swap(imp);
      |                ^~~~~
In file included from boost/libs/filesystem/src/directory.cpp:17:
/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/BH/include/boost/filesystem/directory.hpp:417:49: note: declared private here
  417 |     boost::intrusive_ptr< detail::dir_itr_imp > m_imp;
      |                                                 ^~~~~
boost/libs/filesystem/src/directory.cpp:482:16: error: ‘boost::intrusive_ptr<boost::filesystem::detail::dir_itr_imp> boost::filesystem::directory_iterator::m_imp’ is private within this context
  482 |             it.m_imp->dir_entry.assign(p / filename, file_stat, symlink_file_stat);
      |                ^~~~~
In file included from boost/libs/filesystem/src/directory.cpp:17:
/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/BH/include/boost/filesystem/directory.hpp:417:49: note: declared private here
  417 |     boost::intrusive_ptr< detail::dir_itr_imp > m_imp;
      |                                                 ^~~~~
boost/libs/filesystem/src/directory.cpp:498:12: error: ‘boost::intrusive_ptr<boost::filesystem::detail::dir_itr_imp> boost::filesystem::directory_iterator::m_imp’ is private within this context
  498 |         it.m_imp.reset();
      |            ^~~~~
In file included from boost/libs/filesystem/src/directory.cpp:17:
/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/BH/include/boost/filesystem/directory.hpp:417:49: note: declared private here
  417 |     boost::intrusive_ptr< detail::dir_itr_imp > m_imp;
      |                                                 ^~~~~
boost/libs/filesystem/src/directory.cpp: In function ‘void boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)’:
boost/libs/filesystem/src/directory.cpp:520:56: error: ‘struct boost::filesystem::detail::dir_itr_imp’ has no member named ‘buffer’
  520 |                                              it.m_imp->buffer,
      |                                                        ^~~~~~
make: *** [/usr/lib/R/etc/Makeconf:178: boost/libs/filesystem/src/directory.o] Error 1
ERROR: compilation failed for package ‘cytolib’
* removing ‘/home/luisa/R/x86_64-pc-linux-gnu-library/4.2/cytolib’

The downloaded source packages are in
    ‘/tmp/RtmpEUeMrr/downloaded_packages’
Installation paths not writeable, unable to update packages
  path: /usr/lib/R/library
  packages:
    boot, foreign, Matrix, spatial
Warning message:
In install.packages(...) :
  installation of package ‘cytolib’ had non-zero exit status

We really need to get it up and running soon. I do not want to buy the flowjo 😢 Thanks for any help! Luisa

LuisaFJimenez commented 1 year ago

More details in case they are needed:


Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 20.1

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_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=de_DE.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=de_DE.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
 [1] lubridate_1.9.2     forcats_1.0.0       stringr_1.5.0       dplyr_1.1.0        
 [5] purrr_1.0.1         readr_2.1.4         tidyr_1.3.0         tibble_3.1.8       
 [9] ggplot2_3.4.1       tidyverse_2.0.0     BH_1.81.0-1         BiocManager_1.30.20

loaded via a namespace (and not attached):
 [1] compiler_4.2.2   pillar_1.8.1     tools_4.2.2      digest_0.6.31    timechange_0.2.0
 [6] evaluate_0.20    lifecycle_1.0.3  gtable_0.3.1     pkgconfig_2.0.3  rlang_1.0.6     
[11] cli_3.6.0        rstudioapi_0.14  yaml_2.3.7       xfun_0.37        fastmap_1.1.1   
[16] withr_2.5.0      knitr_1.42       generics_0.1.3   vctrs_0.5.2      hms_1.1.2       
[21] grid_4.2.2       tidyselect_1.2.0 glue_1.6.2       R6_2.5.1         fansi_1.0.4     
[26] rmarkdown_2.20   tzdb_0.3.0       magrittr_2.0.3   scales_1.2.1     htmltools_0.5.4 
[31] ellipsis_0.3.2   colorspace_2.1-0 utf8_1.2.3       stringi_1.7.12   munsell_0.5.0   ```
FMKerckhof commented 1 year ago

Hi @LuisaFJimenez I don't know enough about the C++ internals of cytolib, but are you sure you have latest BioConductor? I had to update to 3.16 for things to work BiocManager::install(version = "3.16"). If that doesn't work, maybe you can try to install cytolib from the development version (devtools::install_github("RGLab/cytolib"))?

LuisaFJimenez commented 1 year ago

Hi @FMKerckhof ... I checked again... that was the trick. For some reason I had in my mind that if I had the latest BiocManager updated, that was equivalent to having the latest Bioconductor... it was not. As soon as I added the command you wrote, it installed 40 new updates/packages. The flowCore and the cytolib are running smoothly. Thanks a lot!

jamesboot commented 1 year ago

Hello, I'm also having issues installing, I'm running latest version of R (4.2.3) and Bioconductor (3.16). My session info is below. Any suggestions would be much appreciated.

R version 4.2.3 (2023-03-15)
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] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] flowCore_2.10.0    pROC_1.18.0        caret_6.0-94       lattice_0.21-8     RColorBrewer_1.1-3
 [6] data.table_1.14.8  factoextra_1.0.7   cluster_2.1.4      corrplot_0.92      lubridate_1.9.2   
[11] forcats_1.0.0      purrr_1.0.1        readr_2.1.4        tidyr_1.3.0        tibble_3.2.1      
[16] tidyverse_2.0.0    reshape2_1.4.4     limma_3.54.2       dplyr_1.1.1        ggplot2_3.4.2     
[21] stringr_1.5.0     

loaded via a namespace (and not attached):
 [1] nlme_3.1-162         matrixStats_0.63.0   fs_1.6.1             usethis_2.1.6        devtools_2.4.5      
 [6] rprojroot_2.0.3      profvis_0.3.7        tools_4.2.3          utf8_1.2.3           R6_2.5.1            
[11] rpart_4.1.19         BiocGenerics_0.44.0  colorspace_2.1-0     nnet_7.3-18          urlchecker_1.0.1    
[16] withr_2.5.0          prettyunits_1.1.1    processx_3.8.0       tidyselect_1.2.0     curl_5.0.0          
[21] compiler_4.2.3       cli_3.6.1            Biobase_2.58.0       desc_1.4.2           scales_1.2.1        
[26] callr_3.7.3          digest_0.6.31        pkgconfig_2.0.3      htmltools_0.5.5      sessioninfo_1.2.2   
[31] parallelly_1.35.0    fastmap_1.1.1        htmlwidgets_1.6.2    rlang_1.1.0          rstudioapi_0.14     
[36] shiny_1.7.4          generics_0.1.3       ModelMetrics_1.2.2.2 magrittr_2.0.3       RProtoBufLib_2.10.0 
[41] Matrix_1.5-4         Rcpp_1.0.10          munsell_0.5.0        S4Vectors_0.36.2     fansi_1.0.4         
[46] lifecycle_1.0.3      stringi_1.7.12       MASS_7.3-58.3        pkgbuild_1.4.0       plyr_1.8.8          
[51] recipes_1.0.5        grid_4.2.3           parallel_4.2.3       listenv_0.9.0        promises_1.2.0.1    
[56] ggrepel_0.9.3        crayon_1.5.2         miniUI_0.1.1.1       splines_4.2.3        hms_1.1.3           
[61] ps_1.7.4             pillar_1.9.0         pkgload_1.3.2        future.apply_1.10.0  codetools_0.2-19    
[66] stats4_4.2.3         glue_1.6.2           remotes_2.4.2        BiocManager_1.30.20  vctrs_0.6.1         
[71] tzdb_0.3.0           httpuv_1.6.9         foreach_1.5.2        gtable_0.3.3         future_1.32.0       
[76] cachem_1.0.7         gower_1.0.1          mime_0.12            prodlim_2023.03.31   xtable_1.8-4        
[81] later_1.3.0          class_7.3-21         survival_3.5-5       timeDate_4022.108    iterators_1.0.14    
[86] cytolib_2.10.0       memoise_2.0.1        hardhat_1.3.0        lava_1.7.2.1         timechange_0.2.0    
[91] globals_0.16.2       ellipsis_0.3.2       ipred_0.9-14