Ah, I see. Now that I know that, I can duplicate the problem more
easily: just having Plot's "draw.rkt" open in another tab gives me a
link error. As soon as I close that tab, DrRacket uses the .zo files
compiled by raco setup, and plotting works again.
Another workaround (besides closing a tab) is to choose "No debugging or
profiling" from the language dialog. Apparently, that makes the .zo
files DrRacket builds compatible with the output of raco setup. But I
still have to wait for it to recompile everything the first time.
I think the current behavior would be fine with a small tweak. Is it
possible for DrRacket to determine whether each .zo file in the
"compiled" directory is up-to-date, and use those that are? Then I could
either have DrRacket's on-demand compiler build Plot, or use raco setup.
(The former would be much easier if the "-c" flag could clean just one
collection or package, though.)
Neil ⊥
On 01/03/2014 09:28 PM, Robby Findler wrote:
Yes: as an experiment we decided to treat files that are open
differently than other files for the purposes of recompiling them.
Looks like that's probably a bad design decision. But it may just be a
bug too, since I thought it was re-compiling more, not less, when you
have the file open.
Robby
On Fri, Jan 3, 2014 at 7:22 PM, Jens Axel Søgaard <jensa...@soegaard.net
<mailto:jensa...@soegaard.net>> wrote:
Try this:
- open the menu "Language" in DrRacket
- choose the menu item "Choose language..."
- click the button "Show details"
- remove the tick in "Populate 'compiled' directories (for faster
loading)
/Jens Axel
2014/1/4 Neil Toronto <neil.toro...@gmail.com
<mailto:neil.toro...@gmail.com>>:
> I do this:
>
> * In DrRacket, open
"pkgs/plot-pkgs/plot-lib/plot/private/common/draw.rkt"
>
> * Make a small change, save
>
> * At the command line, "racket/bin/raco setup --no-docs -l plot"
>
> * Run a test file in another tab in DrRacket that has (require plot)
>
>
> I wait a long time (I think it's recompiling) and get this error:
>
> 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/pkgs/plot-pkgs/plot-lib/plot/private/common/draw.rkt"
> variable phase: 0
> reference in module:
>
"/home/neil/plt/pkgs/plot-pkgs/plot-gui-lib/plot/private/gui/plot2d.rkt"
in:
> draw-bitmap
>
>
> So I remove the "compiled" directory and try again. Same problem.
>
> Here's the kicker: I always get link errors *until I close
"draw.rkt" in
> DrRacket*. After that, I can remove the "compiled" directory,
rebuild, and
> run the program without errors.
>
> Does anybody know what's going on?
>
> Neil ⊥
> _________________________
> Racket Developers list:
> http://lists.racket-lang.org/dev
--
--
Jens Axel Søgaard
_________________________
Racket Developers list:
http://lists.racket-lang.org/dev
_________________________
Racket Developers list:
http://lists.racket-lang.org/dev