Ram 0.5 not compiling with Elixir 1.18 and OTP27
Trying to compile RAM 0.5 gives the following errors on Ubuntu 22.04.
I 'think' its because its because RAM uses an old version of ra and that version does not compile with 1.18 and OTP27.
Compiling the latest version of ra separately compiles fine but of course that does not help with the dependency used by RAM.
===> Compiling ra ===> Compiling src/ra_snapshot.erl failed src/ra.hrl:7:16: syntax error before: '::'
src/ra_snapshot.erl:59:21: syntax error before: 'maybe' src/ra_snapshot.erl:181:27: syntax error before: 'maybe' src/ra_snapshot.erl:184:27: syntax error before: 'maybe' src/ra_snapshot.erl:188:29: syntax error before: 'maybe' src/ra_snapshot.erl:197:35: syntax error before: 'maybe' src/ra_snapshot.erl:361:5: syntax error before: 'maybe'
src/ra_snapshot.erl:65:20: record ra_snapshot undefined src/ra_snapshot.erl:133:13: record ra_snapshot undefined src/ra_snapshot.erl:151:18: record ra_snapshot undefined src/ra_snapshot.erl:182:9: record ra_snapshot undefined src/ra_snapshot.erl:182:41: variable 'Current' is unbound src/ra_snapshot.erl:185:9: record ra_snapshot undefined src/ra_snapshot.erl:186:5: variable 'Pending' is unbound src/ra_snapshot.erl:189:11: record ra_snapshot undefined src/ra_snapshot.erl:191:11: record ra_snapshot undefined src/ra_snapshot.erl:192:5: variable 'Accepting' is unbound src/ra_snapshot.erl:195:11: record ra_snapshot undefined src/ra_snapshot.erl:195:41: variable 'Dir' is unbound src/ra_snapshot.erl:207:16: record ra_snapshot undefined src/ra_snapshot.erl:210:33: variable 'Dir' is unbound src/ra_snapshot.erl:214:11: variable 'Mod' is unbound src/ra_snapshot.erl:227:11: record ra_snapshot undefined src/ra_snapshot.erl:233:19: record ra_snapshot undefined src/ra_snapshot.erl:236:33: variable 'UId' is unbound src/ra_snapshot.erl:237:10: record ra_snapshot undefined src/ra_snapshot.erl:243:14: record ra_snapshot undefined src/ra_snapshot.erl:245:33: variable 'Dir' is unbound src/ra_snapshot.erl:247:25: variable 'Mod' is unbound src/ra_snapshot.erl:248:15: record ra_snapshot undefined src/ra_snapshot.erl:254:14: record ra_snapshot undefined src/ra_snapshot.erl:262:10: variable 'Mod' is unbound src/ra_snapshot.erl:262:37: variable 'AccState' is unbound src/ra_snapshot.erl:265:17: variable 'Dir' is unbound src/ra_snapshot.erl:265:22: variable 'Current' is unbound src/ra_snapshot.erl:267:33: variable 'UId' is unbound src/ra_snapshot.erl:267:38: variable 'Idx' is unbound src/ra_snapshot.erl:268:15: record ra_snapshot undefined src/ra_snapshot.erl:271:14: record ra_snapshot undefined src/ra_snapshot.erl:275:22: variable 'Mod' is unbound src/ra_snapshot.erl:275:46: variable 'AccState0' is unbound src/ra_snapshot.erl:276:15: record ra_snapshot undefined src/ra_snapshot.erl:279:14: record ra_snapshot undefined src/ra_snapshot.erl:280:8: variable 'Next' is unbound src/ra_snapshot.erl:285:14: record ra_snapshot undefined src/ra_snapshot.erl:287:14: record ra_snapshot undefined src/ra_snapshot.erl:289:17: variable 'Dir' is unbound src/ra_snapshot.erl:289:23: variable 'Idx' is unbound src/ra_snapshot.erl:289:28: variable 'Term' is unbound src/ra_snapshot.erl:290:10: record ra_snapshot undefined src/ra_snapshot.erl:295:26: record ra_snapshot undefined src/ra_snapshot.erl:304:13: record ra_snapshot undefined src/ra_snapshot.erl:307:17: variable 'Dir' is unbound src/ra_snapshot.erl:307:22: variable 'IdxTerm' is unbound src/ra_snapshot.erl:308:10: record ra_snapshot undefined src/ra_snapshot.erl:320:12: record ra_snapshot undefined src/ra_snapshot.erl:323:34: variable 'Dir' is unbound src/ra_snapshot.erl:323:39: variable 'Idx' is unbound src/ra_snapshot.erl:323:44: variable 'Term' is unbound src/ra_snapshot.erl:324:5: variable 'Mod' is unbound src/ra_snapshot.erl:331:39: record ra_snapshot undefined src/ra_snapshot.erl:335:34: variable 'Dir' is unbound src/ra_snapshot.erl:335:39: variable 'Idx' is unbound src/ra_snapshot.erl:335:44: variable 'Term' is unbound src/ra_snapshot.erl:336:5: variable 'Mod' is unbound src/ra_snapshot.erl:342:9: record ra_snapshot undefined src/ra_snapshot.erl:344:9: record ra_snapshot undefined src/ra_snapshot.erl:347:33: variable 'Dir' is unbound src/ra_snapshot.erl:347:38: variable 'Idx' is unbound src/ra_snapshot.erl:347:43: variable 'Term' is unbound src/ra_snapshot.erl:348:5: variable 'Mod' is unbound src/ra_snapshot.erl:362:22: record ra_snapshot undefined src/ra_snapshot.erl:364:23: variable 'Dir' is unbound src/ra_snapshot.erl:364:28: variable 'Idx' is unbound src/ra_snapshot.erl:364:33: variable 'Term' is unbound
src/ra_snapshot.erl:46:2: Warning: record accept is unused src/ra_snapshot.erl:146:42: Warning: variable 'Term' is unused src/ra_snapshot.erl:232:30: Warning: variable 'IdxTerm' is unused src/ra_snapshot.erl:247:10: Warning: variable 'AcceptState' is unused src/ra_snapshot.erl:253:21: Warning: variable 'Num' is unused src/ra_snapshot.erl:270:21: Warning: variable 'Num' is unused src/ra_snapshot.erl:275:10: Warning: variable 'AccState' is unused src/ra_snapshot.erl:303:13: Warning: variable 'Pid' is unused