[racket] tool warnings from raco

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Apr 28 20:33:12 EDT 2014

I'm able to replicate the problem in my machine, and it's a problem
with `raco setup` not cleaning up after unlinked planet packages.

Robby's instructions should work around the problem, because the
"cache.rktd" file there is the one that's not cleaned up.

At Mon, 28 Apr 2014 19:19:40 -0500, Robby Findler wrote:
> I'm not sure where the reference is, but I guess that if you delete
> ~/Library/Racket/planet and then re-run "make" from the top-level,
> then you should be in good shape.
> 
> Robby
> 
> On Mon, Apr 28, 2014 at 5:11 PM, Matthew Butterick <mb at mbtype.com> wrote:
> >> How are you installing Racket? From a git build or a snapshot or something 
> else?
> >
> >
> > Two machines, both using a git build from a fork of plt/racket, updated 
> regularly.
> >
> > Turns out that deleting `info-cache.rktd` is a bad idea, because that causes 
> most of the commands to disappear from raco.
> >
> > So I rebuilt both installations from source.
> >
> > After deleting all the vestigial PLaneT development links (with `raco planet 
> unlink`) and uninstalling all my packages, I'm getting the same error on both 
> machines:
> >
> >> raco setup: 0 rendering: 
> <pkgs>/racket-index/scribblings/main/user/start.scrbl
> >> [... traceback ...]
> >> raco setup: docs failure: require: PLaneT could not find the package 
> "mb/pollen:1": Server had no matching package: No package matched the specified 
> criteria
> >
> >
> > The start.scrbl file that threw the error calls (make-start-page). When I 
> print the docs this function is looking for, one of them is:
> >
> >> (library 0  /path/to/git/pollen/scribblings/pollen.scrbl (planet 
> scribblings/pollen.scrbl (mb pollen.plt 1 (= 0))))
> >
> >
> > This is the source of the error, because mb pollen.plt has been unlinked, and 
> that's why "No package matched the specified criteria."
> >
> > But what I don't understand is why Racket has retained this vestigial 
> reference to the PLaneT module, and how I get rid of it.
> >
> > Thanks for any theories.
> >
> >
> >
> >
> >
> > On Apr 27, 2014, at 6:06 PM, Robby Findler <robby at eecs.northwestern.edu> 
> wrote:
> >
> >> How are you installing Racket? From a git build or a snapshot or something 
> else?
> >>
> >> Robby
> >>
> >> On Sun, Apr 27, 2014 at 7:58 PM, Matthew Butterick <mb at mbtype.com> wrote:
> >>> Hm, that is curious.
> >>>
> >>> Whenever I do `raco planet [anything]` I get `Unrecognized command: planet`.
> >>>
> >>> Also, when I do `raco help` I don't get `planet` as an option:
> >>>
> >>> All available commands:
> >>>  link     manage library-collection directories
> >>>  pkg      manage packages
> >>>  pollen   issue Pollen command
> >>>  setup    install and build libraries and documentation
> >>>
> >>>
> >>> BTW could it be a problem that `pollen` is both the name of a package and a
> >>> raco command installed by that package?
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> On Apr 27, 2014, at 5:48 PM, Robby Findler <robby at eecs.northwestern.edu>
> >>> wrote:
> >>>
> >>> The raco planet commands are still there and there are no plans to
> >>> eliminate them.
> >>>
> >>> Can you say what errors you're getting?
> >>>
> >>> Robby
> >>>
> >>> On Sun, Apr 27, 2014 at 7:40 PM, Matthew Butterick <mb at mbtype.com> wrote:
> >>>
> >>> Do you have any links that were installed via `raco link` instead of
> >>> `raco pkg`, such as a link from developing "pollen" before the package
> >>> system?
> >>>
> >>>
> >>> Yes, Pollen was originally a PLaneT module, but IIRC I used `raco planet
> >>> link` to install it (consistent with the instructions here [1])
> >>>
> >>> Here's how I can reproducibly shift between states:
> >>>
> >>> 1) Warning appears ("tool "pollen" registered twice ...")
> >>> 2) Delete `info-cache.rktd`. Warning disappears.
> >>> 3) Do `raco pkg remove pollen`.
> >>> 4) Go to pollen directory and do `raco pkg install`.
> >>> 5) Warning reappears.
> >>>
> >>> So maybe it's a simple matter of erasing the old PLaneT references (?) but
> >>> I'm not sure where those lurk, and all the `raco planet ...` commands
> >>> referenced in the docs [2] are apparently long gone.
> >>>
> >>> [1] http://hashcollision.org/brainfudge/
> >>>
> >>> [2]
> >>> 
> http://docs.racket-lang.org/planet/index.htmlhttp://docs.racket-lang.org/planet/
> index.html
> >>>
> >>>
> >>>
> >>> At Sun, 27 Apr 2014 15:12:44 -0700, Matthew Butterick wrote:
> >>>
> >>> When I invoke raco from the command line, it throws the warning:
> >>>
> >>> warning: tool "pollen" registered twice: "pollen" and
> >>> #<path:/path/to/pollen>
> >>>
> >>>
> >>>
> >>> This error also appeared on racket-dev in Jul 2013. At that time Matthew
> >>> Flatt
> >>> said:
> >>>
> >>> I changed `raco setup' to use relative paths for the info-domain cache,
> >>> but not to prune away the old absolute paths.
> >>>
> >>> For now, you can delete "racket/lib/info-cache.rktd", and I'll work on
> >>> a repair to `raco setup'.
> >>>
> >>>
> >>>
> >>> But though I've tried deleting info-cache.rktd, the warning eventually
> >>> returns.
> >>>
> >>> The problem doesn't surface with other packages. It doesn't seem to affect
> >>> how
> >>> anything works.
> >>>
> >>> It also might be a bug in this particular package, though I'm not clear how
> >>> a
> >>> package can mess with raco's registration scheme.
> >>>
> >>>
> >>> ____________________
> >>> Racket Users list:
> >>> http://lists.racket-lang.org/users
> >>>
> >>>
> >>>
> >>> ____________________
> >>> Racket Users list:
> >>> http://lists.racket-lang.org/users
> >>>
> >>>
> >>>
> >>> ____________________
> >>>  Racket Users list:
> >>>  http://lists.racket-lang.org/users
> >>>
> >
> >
> > ____________________
> >   Racket Users list:
> >   http://lists.racket-lang.org/users
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users

Posted on the users mailing list.