Regarding what you are missing, it is that the Getopt module is used to parse your -M arguments, and so they will not be used when resolving the Getopt module itself. If Getopt is not avaiable in the builtin module path, you need to set the environment variable $PIKE_MODULE_PATH.