[plt-scheme] Compiler error: "not currently transforming module provides"
Hi all,
Sometimes, when compiling an application, I'll get the following error message form mzc:
syntax-local-module-required-identifiers: not currently transforming module provides
=== context ===
/usr/local/plt-4.2.1.5/collects/scheme/private/reqprov.ss:687:27
/usr/local/plt-4.2.1.5/collects/scheme/private/reqprov.ss:677:12
/usr/local/plt-4.2.1.5/collects/scheme/private/reqprov.ss:671:5
/usr/local/plt-4.2.1.5/collects/scheme/provide-transform.ss:51:2: expand-export
/usr/local/plt-4.2.1.5/collects/scheme/private/reqprov.ss:604:17: transform-simple
/usr/local/plt-4.2.1.5/collects/scheme/private/reqprov.ss:600:2
/usr/local/plt-4.2.1.5/collects/compiler/cm.ss:206:0: compile-zo
/usr/local/plt-4.2.1.5/collects/compiler/cm.ss:246:2: do-check
/usr/local/plt-4.2.1.5/collects/compiler/cm.ss:265:16
/usr/local/plt-4.2.1.5/collects/scheme/private/map.ss:110:21: loop
/usr/local/plt-4.2.1.5/collects/compiler/cm.ss:246:2: do-check
/usr/local/plt-4.2.1.5/collects/compiler/cm.ss:265:16
/usr/local/plt-4.2.1.5/collects/scheme/private/map.ss:110:21: loop
/usr/local/plt-4.2.1.5/collects/compiler/cm.ss:246:2: do-check
/usr/local/plt-4.2.1.5/collects/compiler/cm.ss:265:16
/usr/local/plt-4.2.1.5/collects/scheme/private/map.ss:110:21: loop
...
This has been bugging me for quite a while - I have so far struggled to get a small (or even medium sized) reproducible test case. At the moment I'm curious whether anyone else has seen this, whether it is a known or fixed issue, and/or whether I'm doing something dumb.
Here are the symptoms I've managed to pull together so far:
- It happens when compiling files that have a (provide ...) statement with multiple arguments,
where some of those arguments are (all-from-out ...) forms. For example:
(provide (all-from-out "a.ss" "b.ss"))
or
(provide (all-from-out "a.ss") (all-from-out "b.ss"))
- Separating the all-from-out forms into separate provide forms fixes the problem:
(provide (all-from-out "a.ss"))
(provide (all-from-out "b.ss"))
- The problem is not always reproducible - sometimes the application compiles all the way through without problems.
- Once the problem has happened once, repeated invocations of "mzc main.ss" typically do not clear up the problem.
- Before I worked out the thing about the provide statements, I tried working around the problem
by haphazardly running mzc on different modules in the application. This occasionally worked, but often failed.
- The problem occurs on mzc 4.2.1.5 and 4.2.4.4 - I haven't ventured further forth than that yet.
Best regards,
-- Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20100513/cd8cb63d/attachment.html>