Confusing error message when package requires newer Racket

59 views
Skip to first unread message

Neil Toronto

unread,
May 1, 2015, 8:47:14 PM5/1/15
to d...@racket-lang.org
I think this error message means the user needs to upgrade to 6.1.1:


The following out-of-date packages are listed as dependencies of pict3d
and they will be automatically updated:
base (have 6.1, need 6.1.1)
DrRacket install: package installed in a different scope
package: base
current scope: user
installed in scope: installation


The problem: I had to read this error message a couple of times to
figure out what was going on, and I'm not a casual user. Technically,
the user needs to upgrade "base" but it's an installation-scope package,
and he's requesting only user-scope updates. (Right?)

There's definitely a nicer way to explain this in the error message. My
mental model of the package system is incomplete, though, so I don't
know whether it's feasible to detect this situation. Is it? I also don't
know whether the package system would upgrade "base" to 6.1.1 if the
user had requested "pict3d" be installation-scope. Would it?

Neil ⊥

Matthew Flatt

unread,
May 1, 2015, 9:47:34 PM5/1/15
to Neil Toronto, d...@racket-lang.org
I think that useful "need to upgrade" detection would be tricky, but
I'm not sure {what general situation you'd like to detect, what error
you have in mind reporting, whether it's feasible}.

If you go as far as picking the installation scope and specifying a
catalog that will provide a newer "base",

raco pkg install --deps search-auto -i \
--catalog http://pkgs.racket-lang.org/ \
pict3d

then the package manager will attempt to upgrade "base", but that
attempt will fail with

raco pkg install: version mismatch for dependency
for package: base
mismatch packages:
racket (have 6.1.1, need 6.2.0.3)

The "racket" package name is special --- it's reserved to refer to the
core --- and so this error message could feasibly become "you need to
upgrade". But that's a few steps away from your starting point.
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email
> to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-dev/55441E90.3030406%40gmail.com.
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages