Also, when run with -DENCODE_DEBUG -DRESOLV_DEBUG, there are many cases of
resolv("/${PIKE_MODULE_PATH}/Foo.Bar", 0) => not found compare_resolved: object_program(/${PIKE_MODULE_PATH}/Foo.Bar) is different from 0 Warning: Failed to resolve; encoding path
where Foo.Bar varies. Is that normal? I would have guessed that resolv takes the name of something, not a path.
Yes, that looks wrong. I get the impression that the PIKE_MODULE_RELOC stuff isn't playing nice with the resolver and/or encoder. Did those warnings disappear when you turned off PIKE_MODULE_RELOC?