The .elc files were not the same. However, I think that was a blind
alley, as .elc differences can be benign. The diagnostic was output only
when (format FOO) was called with a long FOO (greater than 235 chars,
roughly) without any % directives in it, and where the (format FOO) call
was either directly from bytecode or indirectly via channels that never
used unbind_to. The Makefile approach didn't byte-compile one of the
files that the package.el approach compiled, and I suspect that the
different path to (lv-message "long format with no % directives")
explained why I didn't reproduce the bug at first.
Kaushal Modi