[racket-dev] Installing Optimization Coach broke Racket's reader
I think Vincent needs to answer the core question. But when you
install a package it can extend any collection, so all collections
that it mentions are built. In the case of OC, it only mentions OC so
it would run "raco setup OC" which could cause other collections to be
built as well, during the raco bootstrap phase, such as if you had
done a "git pull" and didn't rebuild.
Jay
On Wed, Jan 30, 2013 at 5:34 PM, Neil Toronto <neil.toronto at gmail.com> wrote:
> This worked:
>
> ~/plt/collects$ find . -name "compiled" -exec rm -rf \{\} \;
> ~/plt/collects$ ../bin/raco setup
>
> That first command to delete the ghosts of misbegotten .zos is arcane and
> dangerous. Why would installing a package create compiled files in
> "collects"?
>
> Neil ⊥
>
>
> On 01/30/2013 05:12 PM, Neil Toronto wrote:
>>
>> Setup finished, still had the reader error. I removed Optimization
>> Coach, cleaned, and ran setup again. My reader is still broken.
>>
>> "git status" shows no changes in my local repo. "raco pkg show" shows no
>> packages. "raco link -l" shows no additional links.
>>
>> Where are these invisible craptastic things that are breaking my stuff?
>>
>> Neil ⊥
>>
>> On 01/30/2013 04:47 PM, Neil Toronto wrote:
>>>
>>> Ran this program:
>>>
>>> #lang racket
>>> (require planet2)
>>> (install "optimization-coach")
>>>
>>> Realized setup was running on one thread, stopped program, closed
>>> DrRacket.
>>>
>>> Figured Optimization Coach must have been downloaded already, so I ran
>>> setup:
>>>
>>> $ ./raco setup
>>>
>>> Everything appeared to work. Started DrRacket:
>>>
>>> $ ./drracket &
>>>
>>> Got this error on startup:
>>>
>>> DrRacket:module-language.rkt:first-opened exn: link: bad variable
>>> linkage;
>>> reference to a variable that has the wrong procedure or structure-type
>>> shape
>>> reference phase level: 0
>>> variable module: "/home/neil/plt/collects/syntax/module-reader.rkt"
>>> variable phase: 0
>>> reference in module: "/home/neil/plt/collects/racket/lang/reader.rkt"
>>> (|[running body]| . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/racket/lang/reader.rkt> #f #f #f #f))
>>> (call-with-limits . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/racket/sandbox.rkt> 358 0 14429 1724))
>>> (call-with-custodian-shutdown . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/racket/sandbox.rkt> 406 0 16321 316))
>>> (call-with-break-parameterization . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/racket/private/more-scheme.rkt> 146 2
>>> 4832 517))
>>> (loop . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/racket/sandbox.rkt> 763 5 32166 1584))
>>> (#f . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/mred/private/wx/common/queue.rkt> 451 6
>>> 19918 1056))
>>> (#f . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/mred/private/wx/common/queue.rkt> 502 32
>>> 21905 120))
>>> (call-with-break-parameterization . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/racket/private/more-scheme.rkt> 146 2
>>> 4832 517))
>>> (loop . #(struct:srcloc
>>> #<path:/home/neil/plt/collects/mred/private/wx/common/queue.rkt> 397 18
>>> 17838 540))
>>>
>>> But DrRacket still worked. Okay... ran the default program ("#lang
>>> racket"), got this output:
>>>
>>> Module Language: invalid module text
>>> link: bad variable linkage;
>>> reference to a variable that has the wrong procedure or structure-type
>>> shape
>>> reference phase level: 0
>>> variable module: "/home/neil/plt/collects/syntax/module-reader.rkt"
>>> variable phase: 0
>>> reference in module: "/home/neil/plt/collects/racket/lang/reader.rkt"
>>> in: wrap-internal
>>>
>>> Just did "raco setup -c" and "raco setup", waiting for completion.
>>>
>>> Any idea what broke?
>>>
>>> Neil ⊥
>>>
>>
>
> _________________________
> Racket Developers list:
> http://lists.racket-lang.org/dev
--
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay
"The glory of God is Intelligence" - D&C 93