Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HPX_WITH_DATAPAR_BACKEND=EVE causes compile errors with C++17 #6164

Closed
jtsylve opened this issue Feb 3, 2023 · 5 comments · Fixed by #6185
Closed

HPX_WITH_DATAPAR_BACKEND=EVE causes compile errors with C++17 #6164

jtsylve opened this issue Feb 3, 2023 · 5 comments · Fixed by #6185

Comments

@jtsylve
Copy link

jtsylve commented Feb 3, 2023

EVE requires C++20 to compile and thus is not compatible with HPX when using the HPX_WITH_CXX_STANDARD=17 setting. This is especially problematic given that HPX_WITH_CXX_STANDARD=17 is the default and provides the best binary compatibility for applications that use HPX and may be compiled with newer standards. This combination causes compiler errors when building HPX. The HPX_WITH_DATAPAR_BACKEND=EVE option should be disabled when the C++ standard is set to a value < 20.

Steps to Reproduce the Problem

Attempt to configure and build hpx with both the HPX_WITH_CXX_STANDARD=17 and HPX_WITH_DATAPAR_BACKEND=EVE options

Specifications

... Please describe your environment

  • HPX Version: 1.8.1
  • Platform (compiler, OS): any
@hkaiser
Copy link
Member

hkaiser commented Feb 4, 2023

Excellent catch! Thanks! @srinivasyadav18 I guess this one is for you to fix ;-)

@AkashS20
Copy link

AkashS20 commented Feb 4, 2023

Hi, I would like to contribute to this. I'm new to open source so if you could please guide me on solving this,
it will be of great help.

@hkaiser
Copy link
Member

hkaiser commented Feb 4, 2023

Hi, I would like to contribute to this. I'm new to open source so if you could please guide me on solving this, it will be of great help.

Sure, that'd be great! Please let us know if you need any additional information.

@PoroCoco
Copy link
Contributor

PoroCoco commented Mar 2, 2023

What should the desired behavior be for this case ? I currently implemented a fatal_error using hpx_error that stops the Cmake generation if we're using both HPX_WITH_DATAPAR_BACKEND=EVE and HPX_WITH_CXX_STANDARD < 20 .

@hkaiser
Copy link
Member

hkaiser commented Mar 2, 2023

What should the desired behavior be for this case ? I currently implemented a fatal_error using hpx_error that stops the Cmake generation if we're using both HPX_WITH_DATAPAR_BACKEND=EVE and HPX_WITH_CXX_STANDARD < 20 .

Yes, I think it's the best we can do to circumvent it from happening. I'd use our existing hpx_error() macro for this, btw.

@hkaiser hkaiser linked a pull request Mar 6, 2023 that will close this issue
bors bot pushed a commit that referenced this issue Mar 9, 2023
6185: Fix EVE datapar with cxx_standard less than 20 r=hkaiser a=PoroCoco

Fixes issue #6164  by using ``hpx_error`` if  ``HPX_WITH_DATAPAR_BACKEND=EVE`` is used with ``HPX_WITH_CXX_STANDARD`` less than 20. 


Co-authored-by: Louis Peyrondet <louis.peyrondet@hotmail.fr>
@bors bors bot closed this as completed in #6185 Mar 9, 2023
@hkaiser hkaiser added this to the 1.9.1 milestone Jun 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants