tactcomplabs / rev

RISC-V SST CPU Component
Other
17 stars 21 forks source link

Compilation Error #116

Closed Artlands closed 1 year ago

Artlands commented 1 year ago

Describe the bug REV cannot be compiled correctly in the devel branch. Error messages are like: ''' /src/../include/RevNIC.h:116:9: error: expected identifier before string constant "revcpu", ^~~~ /src/../include/RevNIC.h:116:9: error: expected ‘,’ or ‘...’ before string constant /src/../include/RevNIC.h:121:7: error: ISO C++ forbids declaration of ‘SST_ELI_REGISTER_SUBCOMPONENT’ with no type [-fpermissive] ) ^ /src/../include/RevNIC.h:121:7: error: expected ‘;’ at end of member declaration ) ^ '''

To Reproduce

Expected behavior REV should be built correctly.

Additional context Change the SST_ELI_REGISTER_SUBCOMPONENT marco to SST_ELI_REGISTER_SUBCOMPONENT_DERIVED will fix the issue. PanNet.h, RevCoProc.h, RevMemCtrl.h and RevNIC.h need fix.

jleidel commented 1 year ago

GCC 8.5.0 does not fully support C++17. You'll need to migrate to a newer version of GCC. We are currently building internally with GCC 11.1.0. Also, the SST_ELI_REGISTER_SUBCOMPONENT_DERIVED macro has been deprecated in SST 13.0.0. The devel branch is correctly tracking the official release version of SST.

See: https://sst-simulator.org/sstannouncements/2023/04/28/SST-v13.0.0-Released/