Open RoganGrant opened 2 years ago
I am having the same issue with installing cytolib in the bioconductor/bioconductor_docker.
the bundled boost source code is out of sync, I will push the fix shortly
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
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.
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
I have pushed the patch to bioconductor the latest release and development branch
Ah yes. Of course. Much better way. Thanks!
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...)
Any updates on the solutions?
If you are on the latest version of R and all the other packages, it should build
@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
@FMKerckhof Thank you for reporting, patch is pushed
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?
@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
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
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 ```
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")
)?
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!
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
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
?SessionInfo: