cnc@linuxcnc:~/Desktop$ sudo modcompile gs10.mod /tmp/tmp154hg3dq/mesa_modbus.c Compiling realtime mesa_modbus.c In file included from mesa_modbus.c:66: /home/cnc/Desktop/gs10.mod:5:5: warning: braces around scalar initializer 5 | {HAL_U32, 3, 0x0611, 1, "error_code"}, | ^ /home/cnc/Desktop/gs10.mod:5:5: note: (near initialization for ‘channels.type’) /home/cnc/Desktop/gs10.mod:5:15: warning: excess elements in scalar initializer 5 | {HAL_U32, 3, 0x0611, 1, "error_code"}, | ^ /home/cnc/Desktop/gs10.mod:5:15: note: (near initialization for ‘channels.type’) /home/cnc/Desktop/gs10.mod:5:19: warning: excess elements in scalar initializer 5 | {HAL_U32, 3, 0x0611, 1, "error_code"}, | ^~~~~~ /home/cnc/Desktop/gs10.mod:5:19: note: (near initialization for ‘channels.type’) /home/cnc/Desktop/gs10.mod:5:27: warning: excess elements in scalar initializer 5 | {HAL_U32, 3, 0x0611, 1, "error_code"}, | ^ /home/cnc/Desktop/gs10.mod:5:27: note: (near initialization for ‘channels.type’) /home/cnc/Desktop/gs10.mod:5:34: warning: excess elements in scalar initializer 5 | {HAL_U32, 3, 0x0611, 1, "error_code"}, | ^~~~~~~~~~~~ /home/cnc/Desktop/gs10.mod:5:34: note: (near initialization for ‘channels.type’) /home/cnc/Desktop/gs10.mod:6:5: warning: braces around scalar initializer 6 | {HAL_U32, 3, 0x2101, 1, "status"}, | ^ /home/cnc/Desktop/gs10.mod:6:5: note: (near initialization for ‘channels.func’) /home/cnc/Desktop/gs10.mod:6:15: warning: excess elements in scalar initializer 6 | {HAL_U32, 3, 0x2101, 1, "status"}, | ^ /home/cnc/Desktop/gs10.mod:6:15: note: (near initialization for ‘channels.func’) /home/cnc/Desktop/gs10.mod:6:19: warning: excess elements in scalar initializer 6 | {HAL_U32, 3, 0x2101, 1, "status"}, | ^~~~~~ /home/cnc/Desktop/gs10.mod:6:19: note: (near initialization for ‘channels.func’) /home/cnc/Desktop/gs10.mod:6:27: warning: excess elements in scalar initializer 6 | {HAL_U32, 3, 0x2101, 1, "status"}, | ^ /home/cnc/Desktop/gs10.mod:6:27: note: (near initialization for ‘channels.func’) /home/cnc/Desktop/gs10.mod:6:34: warning: excess elements in scalar initializer 6 | {HAL_U32, 3, 0x2101, 1, "status"}, | ^~~~~~~~ /home/cnc/Desktop/gs10.mod:6:34: note: (near initialization for ‘channels.func’) /home/cnc/Desktop/gs10.mod:7:5: warning: braces around scalar initializer 7 | {HAL_FLOAT, 3, 0x2104, 1, "output-current"}, | ^ /home/cnc/Desktop/gs10.mod:7:5: note: (near initialization for ‘channels.addr’) /home/cnc/Desktop/gs10.mod:7:17: warning: excess elements in scalar initializer 7 | {HAL_FLOAT, 3, 0x2104, 1, "output-current"}, | ^ /home/cnc/Desktop/gs10.mod:7:17: note: (near initialization for ‘channels.addr’) /home/cnc/Desktop/gs10.mod:7:21: warning: excess elements in scalar initializer 7 | {HAL_FLOAT, 3, 0x2104, 1, "output-current"}, | ^~~~~~ /home/cnc/Desktop/gs10.mod:7:21: note: (near initialization for ‘channels.addr’) /home/cnc/Desktop/gs10.mod:7:29: warning: excess elements in scalar initializer 7 | {HAL_FLOAT, 3, 0x2104, 1, "output-current"}, | ^ /home/cnc/Desktop/gs10.mod:7:29: note: (near initialization for ‘channels.addr’) /home/cnc/Desktop/gs10.mod:7:36: warning: excess elements in scalar initializer 7 | {HAL_FLOAT, 3, 0x2104, 1, "output-current"}, | ^~~~~~~~~~~~~~~~ /home/cnc/Desktop/gs10.mod:7:36: note: (near initialization for ‘channels.addr’) /home/cnc/Desktop/gs10.mod:8:5: warning: braces around scalar initializer 8 | {HAL_FLOAT, 3, 0x2105, 1, "bus-voltage"}, | ^ /home/cnc/Desktop/gs10.mod:8:5: note: (near initialization for ‘channels.count’) /home/cnc/Desktop/gs10.mod:8:17: warning: excess elements in scalar initializer 8 | {HAL_FLOAT, 3, 0x2105, 1, "bus-voltage"}, | ^ /home/cnc/Desktop/gs10.mod:8:17: note: (near initialization for ‘channels.count’) /home/cnc/Desktop/gs10.mod:8:21: warning: excess elements in scalar initializer 8 | {HAL_FLOAT, 3, 0x2105, 1, "bus-voltage"}, | ^~~~~~ /home/cnc/Desktop/gs10.mod:8:21: note: (near initialization for ‘channels.count’) /home/cnc/Desktop/gs10.mod:8:29: warning: excess elements in scalar initializer 8 | {HAL_FLOAT, 3, 0x2105, 1, "bus-voltage"}, | ^ /home/cnc/Desktop/gs10.mod:8:29: note: (near initialization for ‘channels.count’) /home/cnc/Desktop/gs10.mod:8:36: warning: excess elements in scalar initializer 8 | {HAL_FLOAT, 3, 0x2105, 1, "bus-voltage"}, | ^~~~~~~~~~~~~ /home/cnc/Desktop/gs10.mod:8:36: note: (near initialization for ‘channels.count’) /home/cnc/Desktop/gs10.mod:9:21: warning: overflow in conversion from ‘int’ to char’ changes value from ‘8460’ to ‘12’ [-Woverflow] 9 | {HAL_FLOAT, 3, 0x210C, 1, "motor-speed"}, | ^~~~~~ /home/cnc/Desktop/gs10.mod:9:36: warning: initialization of ‘char’ from ‘char *’ makes integer from pointer without a cast [-Wint-conversion] 9 | {HAL_FLOAT, 3, 0x210C, 1, "motor-speed"}, | ^~~~~~~~~~~~~ /home/cnc/Desktop/gs10.mod:9:36: note: (near initialization for ‘channels.name[4]’) /home/cnc/Desktop/gs10.mod:9:36: error: initializer element is not computable at load time /home/cnc/Desktop/gs10.mod:9:36: note: (near initialization for ‘channels.name[4]’) /home/cnc/Desktop/gs10.mod:10:5: error: extra brace group at end of initializer 10 | {HAL_FLOAT, 6, 0x2001, 1, "frequency-command"}, | ^ /home/cnc/Desktop/gs10.mod:10:5: note: (near initialization for ‘channels’) /home/cnc/Desktop/gs10.mod:10:5: warning: excess elements in struct initializer /home/cnc/Desktop/gs10.mod:10:5: note: (near initialization for ‘channels’) /home/cnc/Desktop/gs10.mod:11:5: error: extra brace group at end of initializer 11 | {HAL_U32, 6, 0x2000, 1, "operation"}, | ^ /home/cnc/Desktop/gs10.mod:11:5: note: (near initialization for ‘channels’) /home/cnc/Desktop/gs10.mod:11:5: warning: excess elements in struct initializer /home/cnc/Desktop/gs10.mod:11:5: note: (near initialization for ‘channels’) mesa_modbus.c: In function ‘rtapi_app_main’: mesa_modbus.c:195:59: error: subscripted value is neither array nor pointer nor vector 195 | inst->num_chans = sizeof(channels)/sizeof(channels[0]); | ^ mesa_modbus.c:199:39: error: subscripted value is neither array nor pointer nor vector 199 | inst->num_pins += channels[c].count; | ^ mesa_modbus.c:252:32: error: subscripted value is neither array nor pointer nor vector 252 | ch->type = channels[c].type; | ^ mesa_modbus.c:253:32: error: subscripted value is neither array nor pointer nor vector 253 | ch->func = channels[c].func; | ^ mesa_modbus.c:254:32: error: subscripted value is neither array nor pointer nor vector 254 | ch->addr = channels[c].addr; | ^ mesa_modbus.c:255:33: error: subscripted value is neither array nor pointer nor vector 255 | ch->count = channels[c].count; | ^ mesa_modbus.c:284:48: error: subscripted value is neither array nor pointer nor vector 284 | i, channels[c].name, j); | ^ mesa_modbus.c:290:56: error: subscripted value is neither array nor pointer nor vector 290 | i, channels[c].name); | ^ mesa_modbus.c:320:48: error: subscripted value is neither array nor pointer nor vector 320 | i, channels[c].name, j); | ^ mesa_modbus.c:325:48: error: subscripted value is neither array nor pointer nor vector 325 | i, channels[c].name); | ^ mesa_modbus.c:334:48: error: subscripted value is neither array nor pointer nor vector 334 | i, channels[c].name, j); | ^ mesa_modbus.c:338:48: error: subscripted value is neither array nor pointer nor vector 338 | i, channels[c].name, j); | ^ mesa_modbus.c:342:48: error: subscripted value is neither array nor pointer nor vector 342 | i, channels[c].name, j); | ^ mesa_modbus.c:347:48: error: subscripted value is neither array nor pointer nor vector 347 | i, channels[c].name); | ^ mesa_modbus.c:351:48: error: subscripted value is neither array nor pointer nor vector 351 | i, channels[c].name); | ^ mesa_modbus.c:355:48: error: subscripted value is neither array nor pointer nor vector 355 | i, channels[c].name); | ^ mesa_modbus.c:366:48: error: subscripted value is neither array nor pointer nor vector 366 | i, channels[c].name, j); | ^ mesa_modbus.c:370:48: error: subscripted value is neither array nor pointer nor vector 370 | i, channels[c].name, j); | ^ mesa_modbus.c:374:48: error: subscripted value is neither array nor pointer nor vector 374 | i, channels[c].name, j); | ^ mesa_modbus.c:379:48: error: subscripted value is neither array nor pointer nor vector 379 | i, channels[c].name); | ^ mesa_modbus.c:383:48: error: subscripted value is neither array nor pointer nor vector 383 | i, channels[c].name); | ^ mesa_modbus.c:387:48: error: subscripted value is neither array nor pointer nor vector 387 | i, channels[c].name); | ^ make: *** [/usr/share/linuxcnc/Makefile.modinc:117: mesa_modbus.o] Error 1