Build fails: `error: no matching function for call to 'get_rounded_size(const unsigned int:30&, const std::size_t&)'`

Open
#265 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
32/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
cpp, r
Domain
build-system

Research direction

Reproduce the failure with the shown R CMD INSTALL invocation, then inspect ipcmutex.cpp and the referenced BH headers: boost/interprocess/detail/segment_manager_helper.hpp and utilities.hpp. Determine whether the incompatible argument types originate in BiocParallel or its BH/Boost dependency; done means a confirmed package-side resolution or a documented upstream report and reference.

Written by the indexing model from the issue text.

Description

:notice:build --->  Building R-BiocParallel
:debug:build Executing proc-pre-org.macports.build-build-0
:info:build xinstall: mkdir /opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/build
:debug:build Executing org.macports.build (R-BiocParallel)
:debug:build Environment: 
:debug:build CC_PRINT_OPTIONS='YES'
:debug:build CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/.CC_PRINT_OPTIONS'
:debug:build CPATH='/opt/local/include'
:debug:build DEVELOPER_DIR='/Developer'
:debug:build DYLD_LIBRARY_PATH='/opt/local/lib/libgcc'
:debug:build LIBRARY_PATH='/opt/local/lib'
:debug:build MACOSX_DEPLOYMENT_TARGET='10.6'
:debug:build SOURCE_DATE_EPOCH='1738454598'
:info:build Executing:  cd "/opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/BiocParallel" && /opt/local/bin/R CMD INSTALL . --library=/opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/build --install-tests 
:debug:build system:  cd "/opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/BiocParallel" && /opt/local/bin/R CMD INSTALL . --library=/opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/build --install-tests 
:info:build * installing *source* package ‘BiocParallel’ ...
:info:build ** package ‘BiocParallel’ successfully unpacked and MD5 sums checked
:info:build ** using staged installation
:info:build checking whether the C++ compiler works... yes
:info:build checking for C++ compiler default output file name... a.out
:info:build checking for suffix of executables... 
:info:build checking whether we are cross compiling... no
:info:build checking for suffix of object files... o
:info:build checking whether the compiler supports GNU C++... yes
:info:build checking whether /opt/local/bin/g++-mp-14 -std=gnu++17 accepts -g... yes
:info:build checking for /opt/local/bin/g++-mp-14 -std=gnu++17 option to enable C++11 features... none needed
:info:build checking for library containing shm_open... none required
:info:build checking for stdio.h... yes
:info:build checking for stdlib.h... yes
:info:build checking for string.h... yes
:info:build checking for inttypes.h... yes
:info:build checking for stdint.h... yes
:info:build checking for strings.h... yes
:info:build checking for sys/stat.h... yes
:info:build checking for sys/types.h... yes
:info:build checking for unistd.h... yes
:info:build checking for sys/mman.h... yes
:info:build configure: creating ./config.status
:info:build config.status: creating src/Makevars
:info:build ** libs
:info:build using C++ compiler: ‘g++-mp-14 (MacPorts gcc14 14.2.0_1+G5+stdlib_flag) 14.2.0’
:info:build using C++11
:info:build Warning in system2("xcrun", "--show-sdk-path", TRUE, TRUE) :
:info:build   running command ''xcrun' --show-sdk-path 2>&1' had status 64
:info:build using SDK: ‘NA’‘NA’‘NA’‘NA’‘NA’‘NA’
:info:build /opt/local/bin/g++-mp-14 -std=gnu++11 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG  -I'/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include' -I'/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/cpp11/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc   -c cpp11.cpp -o cpp11.o
:info:build /opt/local/bin/g++-mp-14 -std=gnu++11 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG  -I'/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include' -I'/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/cpp11/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc   -c ipcmutex.cpp -o ipcmutex.o
:info:build In file included from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/segment_manager.hpp:31,
:info:build                  from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/managed_memory_impl.hpp:30,
:info:build                  from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/managed_shared_memory.hpp:25,
:info:build                  from ipcmutex.cpp:14:
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/segment_manager_helper.hpp: In instantiation of 'size_type boost::interprocess::ipcdetail::block_header<size_type>::name_length_offset() const [with size_type = unsigned int]':
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/segment_manager_helper.hpp:379:52:   required from 'void boost::interprocess::ipcdetail::block_header<size_type>::store_name_length(name_len_t) [with size_type = unsigned int; name_len_t = short unsigned int]'
:info:build   379 |       ::new( reinterpret_cast<char*>(this) + this->name_length_offset()
:info:build       |                                              ~~~~~~^~~~~~~~~~~~~~~~~~
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/segment_manager.hpp:1083:29:   required from 'typename Proxy::object_type* boost::interprocess::segment_manager<CharType, MemoryAlgorithm, IndexType>::priv_generic_named_construct(Proxy, unsigned char, const CharT*, size_type, bool, bool, IndexType<boost::interprocess::ipcdetail::index_config<CharT, MemoryAlgorithm> >&) [with Proxy = boost::interprocess::ipcdetail::CtorArgN<boost::interprocess::interprocess_mutex, false>; CharT = char; CharType = char; MemoryAlgorithm = boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>; IndexType = boost::interprocess::iset_index; typename Proxy::object_type = boost::interprocess::interprocess_mutex; size_type = unsigned int]'
:info:build  1083 |       hdr->store_name_length(static_cast<typename block_header_t::name_len_t>(namelen));
:info:build       |       ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/segment_manager.hpp:661:13:   required from 'typename Proxy::object_type* boost::interprocess::segment_manager<CharType, MemoryAlgorithm, IndexType>::generic_construct(Proxy&, const CharType*, size_type, bool, bool) [with Proxy = boost::interprocess::ipcdetail::CtorArgN<boost::interprocess::interprocess_mutex, false>; CharType = char; MemoryAlgorithm = boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>; IndexType = boost::interprocess::iset_index; typename Proxy::object_type = boost::interprocess::interprocess_mutex; size_type = unsigned int]'
:info:build   660 |          return this->priv_generic_named_construct
:info:build       |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build   661 |             (pr, unique_type, typeid(object_type).name(), num, try2find, dothrow, m_header.m_unique_index);
:info:build       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/named_proxy.hpp:145:40:   required from 'T* boost::interprocess::ipcdetail::named_proxy<SegmentManager, T, is_iterator>::operator()(Args&& ...) const [with Args = {}; SegmentManager = boost::interprocess::segment_manager<char, boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>, boost::interprocess::iset_index>; T = boost::interprocess::interprocess_mutex; bool is_iterator = false]'
:info:build   145 |       return mp_mngr->generic_construct(ctor_obj, mp_name, m_num, m_find, m_dothrow);
:info:build       |              ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build ipcmutex.cpp:35:64:   required from here
:info:build    35 |         mtx = shm->find_or_construct<interprocess_mutex>("mtx")();
:info:build       |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/segment_manager_helper.hpp:395:53: error: no matching function for call to 'get_rounded_size(const unsigned int:30&, const std::size_t&)'
:info:build   395 |       return this->value_offset() + get_rounded_size(m_value_bytes, ::boost::move_detail::alignment_of<name_len_t>::value);
:info:build       |                                     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build In file included from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/managed_memory_impl.hpp:26:
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/utilities.hpp:54:17: note: candidate: 'template<class SizeType> SizeType boost::interprocess::ipcdetail::get_rounded_size(SizeType, SizeType)'
:info:build    54 | inline SizeType get_rounded_size(SizeType orig_size, SizeType round_to)
:info:build       |                 ^~~~~~~~~~~~~~~~
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/utilities.hpp:54:17: note:   template argument deduction/substitution failed:
:info:build /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/BH/include/boost/interprocess/detail/segment_manager_helper.hpp:395:53: note:   deduced conflicting types for parameter 'SizeType' ('unsigned int' and 'long unsigned int')
:info:build   395 |       return this->value_offset() + get_rounded_size(m_value_bytes, ::boost::move_detail::alignment_of<name_len_t>::value);
:info:build       |                                     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build make: *** [ipcmutex.o] Error 1
:info:build ERROR: compilation failed for package ‘BiocParallel’
:info:build * removing ‘/opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/build/BiocParallel’
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/BiocParallel" && /opt/local/bin/R CMD INSTALL . --library=/opt/local/var/macports/build/_opt_local_ppcports_R_R-BiocParallel/R-BiocParallel/work/build --install-tests 
:info:build Exit code: 1

Or is this a bug in Boost, and I should open an issue with their upstream instead?

Dominant language
R
Stars
69
Forks
32
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Bioconductor/BiocParallel

All issues in Bioconductor/BiocParallel

Similar issues

More R issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.