I idly tried to compile hpx head (6ca32f0e7a782), with the only local
change being

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4126a795afd..6af1215fb61 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1835,7 +1835,8 @@ if(NOT WIN32)
     target_link_libraries(hpx_base_libraries INTERFACE supc++)
   endif()
 
-  if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
+  find_library(DL_LIBRARY NAMES dl)
+  if(DL_LIBRARY)
     target_link_libraries(hpx_base_libraries INTERFACE dl)
   endif()


and compilation fails with

/usr/include/g++/system_error:174:7: note: candidate: 'template<class 
_ErrorCodeEnum> typename std::enable_if<std::is_error_code_enum<_Tp>::value, 
std::error_code&>::type std::error_code::operator=(_ErrorCodeEnum)'
  174 |       operator=(_ErrorCodeEnum __e) noexcept
      |       ^~~~~~~~
/usr/include/g++/system_error:174:7: note:   template argument 
deduction/substitution failed:
/usr/include/g++/system_error: In substitution of 'template<class 
_ErrorCodeEnum> typename std::enable_if<std::is_error_code_enum<_Tp>::value, 
std::error_code&>::type std::error_code::operator=(_ErrorCodeEnum) [with 
_ErrorCodeEnum = boost::system::error_code]':
/usr/src/local/hpx/libs/core/config/include/hpx/config/detail/compat_error_code.hpp:34:19:
   required from here
/usr/include/g++/system_error:174:7: error: no type named 'type' in 'struct 
std::enable_if<false, std::error_code&>'
/usr/include/g++/system_error:146:10: note: candidate: 'constexpr 
std::error_code& std::error_code::operator=(const std::error_code&)'
  146 |   struct error_code
      |          ^~~~~~~~~~
/usr/include/g++/system_error:146:10: note:   no known conversion for argument 
1 from 'boost::system::error_code' to 'const std::error_code&'
/usr/include/g++/system_error:146:10: note: candidate: 'constexpr 
std::error_code& std::error_code::operator=(std::error_code&&)'
/usr/include/g++/system_error:146:10: note:   no known conversion for argument 
1 from 'boost::system::error_code' to 'std::error_code&&'
gmake[2]: *** [libs/core/logging/CMakeFiles/hpx_logging.dir/build.make:95: 
libs/core/logging/CMakeFiles/hpx_logging.dir/src/logging.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:25324: 
libs/core/logging/CMakeFiles/hpx_logging.dir/all] Error 2

g++ (nb1 20200907) 9.3.0

It looked as though there was a commit where the intention was to just
use std::error_code, so I'm not sure how the boost version leaked in...


Cheers,

Patrick
_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to