module name and file name have to match. $ gm2 -g helloWorld.mod
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/12/m2/m2pim/libm2pim.so: undefined reference to `RTco_select'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/12/m2/m2pim/libm2pim.so: undefined reference to `RTco_initSemaphore'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/12/m2/m2pim/libm2pim.so: undefined reference to `RTco_wait'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/12/m2/m2pim/libm2pim.so: undefined reference to `RTco_signal'
collect2: error: ld returned 1 exit status this indeed looks like an underlinked library. However this works: $ gm2 -fiso -g helloWorld.mod $ ./a.out Hello World