greetings from FreeBSD DLL Hell!
Joshua Tinnin
krinklyfig at spymac.com
Wed Mar 23 18:21:16 PST 2005
On Wednesday 23 March 2005 17:16, "N.J. Thomas" <njt at ayvali.org> wrote:
> I installed FreeBSD 5.3-RELEASE and was installing packages via
> "pkg_add -r foo". This worked, but it went and downloaded older
> versions of various programs (i.e. Mozilla Firefox 0.9). How can I
> tell pkg_add to use the "5-latest" (5-STABLE? RELENG_5_3?) branch? Do
> I have to update my sources before I can do this?
Packages are built to work with the particular release specified. Once
ports are unfrozen, right before release, they start changing again,
and updating new packages for all ports for every minor version bump in
the tree is not viable at the moment (12000+ ports), AFAIK, nor would
it be in line with freezing ports before release.
> So after I installed 5.3 yesterday I installed some packages with
> pkg_add -r (which used the 5.3-RELEASE versions of the software), and
> then installed some other stuff with ports, and then updated ports
> with cvsup and then installed yet some more stuff, and now I seem to
> find myself in the FreeBSD equivalent of "DLL Hell". Should I just
> blow my system away and start from scratch? Is that the best course
> of action to take at this point?
You don't need to reinstall the OS, but it might be simpler for you if
you deleted all the packages, with pkg_delete -a (from root). From
there you can install cvsup and other essentials, but you might
consider running /bin/sysinstall to reinstall the packages you once
had, just so you're not running blind.
From there, you can run cvsup and update your ports tree. In some
instances, you can still upgrade to a package, but in others you can't.
I find it simpler to build everything on my machine, but I prefer to
track ports changes. If you're running a server you don't really want
to track ports all the time, just track security updates, otherwise
you're going to take it down a lot to upgrade, but if you're running a
desktop it can be useful, depending. Sometimes you don't really need to
update from the packages on the install CD, but obviously Firefox does
need to be updated from 0.9 for security reasons. So, you're going to
end up installing some packages and building others, which can lead to
some interesting problems, but it's workable. It might be easier to
build all from ports, but that's up to you and your CPU cycles. Either
way, a utility caleld portupgrade will solve most of your dependency
problems for you.
Here's a good tutorial on how to use cvsup and portupgrade:
http://www.onlamp.com/pub/a/bsd/2003/08/28/FreeBSD_Basics.html
Also, I highly recommend reading the handbook:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html
You don't have to read all of it, but you probably want to read what is
relevant to your configuration. It's great documentation, and it can
help answer many of your questions as situations arise. If you don't
find the answer there or from searching the list archives (Google can
be useful, too), then come to the list and ask. This question has been
asked and answered many times on this list, but I didn't want to leave
you hanging ;)
- jt
More information about the freebsd-questions
mailing list