-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
Compiling sixtracklib on Mac OS X 10.15 Catalina using gcc/g++ 10.2, some types appear to be inconsistent.
Specifically, the sixtracklib/common/internal/track_job_base.cpp ends up with the TrackJob's size_type being unsigned long while in the header sixtracklib/common/internal/track_job_base.h, the size_type is an alias for unsigned long long
This results in error messages like the following:
[ 52%] Building CXX object sixtracklib/common/internal/CMakeFiles/sixtrack_common_internal_cxx.dir/track_job_base.cpp.o
/Users/user926596/git/sixtracklib/sixtracklib/common/internal/track_job_base.cpp:59:25: error: conflicting declaration 'constexpr const st_size_t sixtrack::TrackJobBase::ILLEGAL_BUFFER_ID'
59 | constexpr st_size_t tjob_t::ILLEGAL_BUFFER_ID;
| ^~~~~~
In file included from /Users/user926596/git/sixtracklib/sixtracklib/common/internal/track_job_base.cpp:1:
/Users/user926596/git/sixtracklib/sixtracklib/common/internal/track_job_base.h:67:36: note: previous declaration as 'constexpr const size_type sixtrack::TrackJobBase::ILLEGAL_BUFFER_ID'
67 | static constexpr size_type ILLEGAL_BUFFER_ID =
TODO:
- Analyse why this issue has only affected Mac OS X builds so far (same compiler for Linux seems to work fine)
- Fix the issue
- Verify that this issue is not also causing troubles elsewhere
Thanks to @fsoubelet for reporting this issue!