Skip to content

dqrng 0.4.0 fails to build: error: no match for 'operator/' #88

@barracuda156

Description

@barracuda156
--->  Building R-dqrng
xinstall: mkdir /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-dqrng/R-dqrng/work/build
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-dqrng/R-dqrng/work/dqrng" && /opt/local/bin/R CMD INSTALL . --library=/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-dqrng/R-dqrng/work/build --install-tests 
* installing *source* package ‘dqrng’ ...
** package ‘dqrng’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-mp-13 (MacPorts gcc13 13.2.0_4+stdlib_flag) 13.2.0’
Warning in system2("xcrun", "--show-sdk-path", TRUE, TRUE) :
  running command ''xcrun' --show-sdk-path 2>&1' had status 64
using SDK: ‘NA’‘NA’‘NA’‘NA’‘NA’‘NA’
/opt/local/bin/g++-mp-13 -std=gnu++17 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include' -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/sitmo/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc   -c RcppExports.cpp -o RcppExports.o
/opt/local/bin/g++-mp-13 -std=gnu++17 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I../inst/include -DSTRICT_R_HEADERS -I'/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include' -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/sitmo/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc   -c dqrng.cpp -o dqrng.o
In file included from dqrng.cpp:21:
../inst/include/dqrng_generator.h: In member function 'void dqrng::random_64bit_wrapper<RNG>::set_stream(dqrng::random_64bit_generator::result_type) [with RNG = pcg_detail::engine<long long unsigned int, pcg_extras::uint_x4<unsigned int, long long unsigned int>, pcg_detail::xsl_rr_mixin<long long unsigned int, pcg_extras::uint_x4<unsigned int, long long unsigned int> >, false, pcg_detail::specific_stream<pcg_extras::uint_x4<unsigned int, long long unsigned int> >, pcg_detail::default_multiplier<pcg_extras::uint_x4<unsigned int, long long unsigned int> > >; dqrng::random_64bit_generator::result_type = long long unsigned int]':
../inst/include/dqrng_generator.h:115:26: error: no match for 'operator/' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<pcg_extras::uint_x4<unsigned int, long long unsigned int> >, pcg_extras::uint_x4<unsigned int, long long unsigned int> >::value_type' {aka 'pcg_extras::uint_x4<unsigned int, long long unsigned int>'} and 'int')
  115 |   gen.set_stream(state[1]/2 + stream);
../inst/include/dqrng_generator.h:115:26: note: candidate: 'operator/(int, int)' (built-in)
../inst/include/dqrng_generator.h:115:26: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<pcg_extras::uint_x4<unsigned int, long long unsigned int> >, pcg_extras::uint_x4<unsigned int, long long unsigned int> >::value_type' {aka 'pcg_extras::uint_x4<unsigned int, long long unsigned int>'} to 'int'
../inst/include/dqrng_generator.h:115:26: note: candidate: 'operator/(long unsigned int, int)' (built-in)
../inst/include/dqrng_generator.h:115:26: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<pcg_extras::uint_x4<unsigned int, long long unsigned int> >, pcg_extras::uint_x4<unsigned int, long long unsigned int> >::value_type' {aka 'pcg_extras::uint_x4<unsigned int, long long unsigned int>'} to 'long unsigned int'
../inst/include/dqrng_generator.h:115:26: note: candidate: 'operator/(unsigned int, int)' (built-in)
../inst/include/dqrng_generator.h:115:26: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<pcg_extras::uint_x4<unsigned int, long long unsigned int> >, pcg_extras::uint_x4<unsigned int, long long unsigned int> >::value_type' {aka 'pcg_extras::uint_x4<unsigned int, long long unsigned int>'} to 'unsigned int'
../inst/include/dqrng_generator.h:115:26: note: candidate: 'operator/(long long unsigned int, int)' (built-in)
../inst/include/dqrng_generator.h:115:26: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<pcg_extras::uint_x4<unsigned int, long long unsigned int> >, pcg_extras::uint_x4<unsigned int, long long unsigned int> >::value_type' {aka 'pcg_extras::uint_x4<unsigned int, long long unsigned int>'} to 'long long unsigned int'
In file included from ../inst/include/pcg_extras.hpp:84,
                 from ../inst/include/dqrng_types.h:27,
                 from ../inst/include/dqrng_generator.h:24:
../inst/include/pcg_uint128.hpp:559:22: note: candidate: 'template<class UInt, class UIntX2> pcg_extras::uint_x4<U, V> pcg_extras::operator/(const uint_x4<U, V>&, const uint_x4<U, V>&)'
  559 | uint_x4<UInt,UIntX2> operator/(const uint_x4<UInt,UIntX2>& dividend,
      |                      ^~~~~~~~
../inst/include/pcg_uint128.hpp:559:22: note:   template argument deduction/substitution failed:
../inst/include/dqrng_generator.h:115:27: note:   mismatched types 'const pcg_extras::uint_x4<U, V>' and 'int'
  115 |   gen.set_stream(state[1]/2 + stream);
      |                           ^
In file included from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/RcppCommon.h:137,
                 from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/Rcpp.h:27,
                 from dqrng.cpp:20:
/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/Rcpp/complex.h:46:17: note: candidate: 'Rcomplex operator/(const Rcomplex&, const Rcomplex&)'
   46 | inline Rcomplex operator/( const Rcomplex& a, const Rcomplex& b) {
      |                 ^~~~~~~~
/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/Rcpp/complex.h:46:44: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<pcg_extras::uint_x4<unsigned int, long long unsigned int> >, pcg_extras::uint_x4<unsigned int, long long unsigned int> >::value_type' {aka 'pcg_extras::uint_x4<unsigned int, long long unsigned int>'} to 'const Rcomplex&'
   46 | inline Rcomplex operator/( const Rcomplex& a, const Rcomplex& b) {
      |                            ~~~~~~~~~~~~~~~~^
In file included from ../inst/include/dqrng_generator.h:26:
../inst/include/pcg_random.hpp: In instantiation of 'void pcg_detail::specific_stream<itype>::set_stream(itype) [with itype = pcg_extras::uint_x4<unsigned int, long long unsigned int>]':
../inst/include/pcg_random.hpp:610:26:   required from 'std::basic_istream<_CharT, _Traits>& pcg_detail::operator>>(std::basic_istream<_CharT, _Traits>&, engine<xtype, itype, output_mixin, output_previous, stream_mixin, multiplier_mixin>&) [with CharT = char; Traits = std::char_traits<char>; xtype = long long unsigned int; itype = pcg_extras::uint_x4<unsigned int, long long unsigned int>; output_mixin = xsl_rr_mixin<long long unsigned int, pcg_extras::uint_x4<unsigned int, long long unsigned int> >; bool output_previous = false; stream_mixin = specific_stream<pcg_extras::uint_x4<unsigned int, long long unsigned int> >; multiplier_mixin = default_multiplier<pcg_extras::uint_x4<unsigned int, long long unsigned int> >]'
../inst/include/dqrng_generator.h:55:55:   required from 'void dqrng::random_64bit_wrapper<RNG>::input(std::istream&) [with RNG = pcg_detail::engine<long long unsigned int, pcg_extras::uint_x4<unsigned int, long long unsigned int>, pcg_detail::xsl_rr_mixin<long long unsigned int, pcg_extras::uint_x4<unsigned int, long long unsigned int> >, false, pcg_detail::specific_stream<pcg_extras::uint_x4<unsigned int, long long unsigned int> >, pcg_detail::default_multiplier<pcg_extras::uint_x4<unsigned int, long long unsigned int> > >; std::istream = std::basic_istream<char>]'
../inst/include/dqrng_generator.h:55:16:   required from here
../inst/include/pcg_random.hpp:322:37: error: no match for 'operator|' (operand types are 'pcg_extras::uint_x4<unsigned int, long long unsigned int>' and 'int')
  322 |          inc_ = (specific_seq << 1) | 1;
      |                 ~~~~~~~~~~~~~~~~~~~~^~~
../inst/include/pcg_random.hpp:322:37: note: candidate: 'operator|(int, int)' (built-in)
../inst/include/pcg_random.hpp:322:37: note:   no known conversion for argument 1 from 'pcg_extras::uint_x4<unsigned int, long long unsigned int>' to 'int'
../inst/include/pcg_random.hpp:322:37: note: candidate: 'operator|(long unsigned int, int)' (built-in)
../inst/include/pcg_random.hpp:322:37: note:   no known conversion for argument 1 from 'pcg_extras::uint_x4<unsigned int, long long unsigned int>' to 'long unsigned int'
../inst/include/pcg_random.hpp:322:37: note: candidate: 'operator|(unsigned int, int)' (built-in)
../inst/include/pcg_random.hpp:322:37: note:   no known conversion for argument 1 from 'pcg_extras::uint_x4<unsigned int, long long unsigned int>' to 'unsigned int'
../inst/include/pcg_random.hpp:322:37: note: candidate: 'operator|(long long unsigned int, int)' (built-in)
../inst/include/pcg_random.hpp:322:37: note:   no known conversion for argument 1 from 'pcg_extras::uint_x4<unsigned int, long long unsigned int>' to 'long long unsigned int'
../inst/include/pcg_uint128.hpp:664:22: note: candidate: 'template<class UInt, class UIntX2> pcg_extras::uint_x4<U, V> pcg_extras::operator|(const uint_x4<U, V>&, const uint_x4<U, V>&)'
  664 | uint_x4<UInt,UIntX2> operator|(const uint_x4<UInt,UIntX2>& a,
      |                      ^~~~~~~~
../inst/include/pcg_uint128.hpp:664:22: note:   template argument deduction/substitution failed:
../inst/include/pcg_random.hpp:322:37: note:   mismatched types 'const pcg_extras::uint_x4<U, V>' and 'int'
  322 |          inc_ = (specific_seq << 1) | 1;
      |                 ~~~~~~~~~~~~~~~~~~~~^~~
In file included from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/Rcpp/sugar/logical/logical.h:30,
                 from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/Rcpp/sugar/sugar_forward.h:29,
                 from /opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/RcppCommon.h:184:
/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/Rcpp/sugar/logical/or.h:315:1: note: candidate: 'template<bool LHS_NA, class LHS_T, bool RHS_NA, class RHS_T> Rcpp::sugar::Or_LogicalExpression_LogicalExpression<LHS_NA, LHS_T, RHS_NA, RHS_T> operator|(const Rcpp::VectorBase<10, LHS_NA, LHS_T>&, const Rcpp::VectorBase<10, RHS_NA, RHS_T>&)'
  315 | operator|(
      | ^~~~~~~~
/opt/local/Library/Frameworks/R.framework/Versions/4.4/Resources/library/Rcpp/include/Rcpp/sugar/logical/or.h:315:1: note:   template argument deduction/substitution failed:
../inst/include/pcg_random.hpp:322:37: note:   'pcg_extras::uint_x4<unsigned int, long long unsigned int>' is not derived from 'const Rcpp::VectorBase<10, LHS_NA, LHS_T>'
  322 |          inc_ = (specific_seq << 1) | 1;
      |                 ~~~~~~~~~~~~~~~~~~~~^~~
make: *** [dqrng.o] Error 1
ERROR: compilation failed for package ‘dqrng’

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions