[racket] tool warnings from raco

From: Matthew Butterick (mb at mbtype.com)
Date: Mon Apr 28 18:11:35 EDT 2014

> 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
>> 



Posted on the users mailing list.