What is the status of PIKE_MODULE_RELOC? In the 7.4 master it's
disabled with the comment "currently broken" but not in 7.6 or 7.7.
Still, it's being used in 7.4 on Windows, right?
I tried enabling it (--with-relocatable-dumped-modules) in a test
build of 7.4 on Darwin but didn't succeed which wasn't surprising
given the comment above. However, not even in a shiny new 7.7 build
could I get it working:
ceylon:pike-reloc $ ./moved77/pike/7.7.21/bin/pike
"Couldn't load master program from /tmp/pike-reloc/install77/pike/7.7.21/lib/master.pike.\n"
Oh well, at least providing the paths explicitly should work:
ceylon:pike-reloc $ ./moved77/pike/7.7.21/bin/pike -m /tmp/pike-reloc/moved77/pike/7.7.21/lib/master.pike -M /tmp/pike-reloc/moved77/pike/7.7.21/lib/modules/ -P /tmp/pike-reloc/moved77/pike/7.7.21/lib/modules/ -I /tmp/pike-reloc/moved77/pike/7.7.21/include/
Could not resolv Getopt. (Perhaps the installed pike tree has been moved.)
/tmp/pike-reloc/moved77/pike/7.7.21/lib/master.pike:2388:
master()->__lambda_65601_2_line_2385("Getopt",UNDEFINED)
What am I missing here?
Also, a related question is what the whole point of the Master Cookie
is? Overcome limitations that one cannot find the path of the
currently executing process? At least on Darwin that can be solved
with some system calls such as NSModuleForSymbol(), and maybe other
systems have similar calls nowadays?