Error compiling feed.xml.pp after a Pollen/Racket upgrade
rwmpelstilzchen opened this issue · 5 comments
Hi,
I updated my system (Arch Linux, using pacman -Syu
). As a part of the process, Racket was upgraded to version 7.7 and I had to re-install Pollen. After that, compiling this repository (make all
) seems to work fine until it produces this error message upon compiling feed.xml.pp
and then halts:
[truncated]
raco pollen render feed.xml.pp
pollen: rendering feed.xml.pp
pollen: rendering /feed.xml.pp
path->complete-path: second argument is not a complete path
first argument: #<path:pollen.rkt>
second argument: #<path:posts/>
context...:
/home/me/.racket/7.7/pkgs/pollen/pollen/setup.rkt:21:0: get-path-to-override
/home/me/.racket/7.7/pkgs/pollen/pollen/setup.rkt:48:11: poly-targets
/home/me/.racket/7.7/pkgs/pollen/pollen/private/file-utils.rkt:176:11: ->markup-source-path
/home/me/documents/www/sandbox/digitalwords.net/try-pollen/feed.xml.pp:135:0: syndicate?
/usr/share/racket/collects/racket/private/list.rkt:256:2: filter
"/home/me/documents/www/sandbox/digitalwords.net/try-pollen/feed.xml.pp": [running body]
temp35_0
for-loop
run-module-instance!
do-dynamic-require
/home/me/.racket/7.7/pkgs/pollen/pollen/private/cache-utils.rkt:67:0: path->hash
/home/me/.racket/7.7/pkgs/pollen/pollen/private/cache-utils.rkt:124:2: generate-dest-file
/usr/share/racket/collects/file/cache.rkt:63:2: fetch-and-continue
/usr/share/racket/collects/racket/contract/private/arrow-val-first.rkt:555:3
/home/me/.racket/7.7/pkgs/pollen/pollen/private/cache-utils.rkt:114:0: cache-ref!
/usr/share/racket/collects/racket/private/more-scheme.rkt:376:2: hash-ref!
...
make: *** [makefile:84: feed.xml] Error 1
I’m not sure how to fix this and where the problem actually lies.
I came accross the problem trying to compile my own Pollen website, as I based my feed.xml.pp
on yours (thanks!
Júda
This seems like it might be cache-related. The files in your project cache (the compiled
subfolder(s)) are compiled with a particular version of Racket and a particular version of Pollen. If either of those things change (as they have in your case) the compiled/cached copies of your programs will not match and you’ll see strange errors from deep within the guts of Pollen.
So it’s possible you can clear this up by doing raco pollen reset
(or make zap
if you’re using a variant of my makefile) and then make all
again.
But it might also be that some part of my project isn’t compatible with newer versions of Pollen. I will take a look and fix if so.
I just cleared the cache using make zap
and even cloned the repo anew, but I still get the same error. Can you compile it with the newest versions of Racket and Pollen?
I tracked it down, looks like this is due to an issue in recent Pollen versions. Keep an eye on that issue for the fix.
Thank you very much for the effort!
The upstream fix is in and I’ve verified this project’s feed.xml.pp
builds cleanly again. Thanks for the report!
Also, a tip: since this was written, Pollen has added its own get-markup-source
function that is smart about finding poly sources and ensuring the result is an existing file. You can remove the get-markup-source
function from feed.xml.pp
to make it use Pollen’s version.