Skip to content

Conversation

@CKehl
Copy link
Contributor

@CKehl CKehl commented Dec 16, 2020

Details see @VictorOnink 's initial error report in #941

Gist: compiling the JIT sources (specifically: parcels.h) with newer gcc-versions or their derivatives - as provided by the anaconda conda channel instead of the conda-forge conda channel - fails, complaining that hiding function calls inside macro's is invalid. That statement is incorrect for C11, but it is correct for C17 as C17 is more pedantic than previous versions.

This PR fixed the issue by specifying the C-standard to be -std=gnu11 in the C-compiler parameter class. We can fix it here because normal C-standards (C89, C99, C11, C17) and newer GNU-dialects (GNU17) fail compilation. Those fails can be fixed, but it will take significant re-work as then M_PI and other constants need to be removed or replaced.

Hence, we hereby define that OceanParcels uses exclusively GNU-11 compile standards.

@CKehl CKehl added the bug label Dec 16, 2020
@CKehl CKehl self-assigned this Dec 16, 2020
@CKehl CKehl linked an issue Dec 16, 2020 that may be closed by this pull request
1 task
@CKehl CKehl merged commit dc6262e into master Dec 23, 2020
@CKehl CKehl deleted the gcc_c-version_compileflag branch December 23, 2020 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix compiling issue with newer gcc-ng package versions

3 participants