Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 05 Aug 2009 20:38:00 -0700
From:      Doug Barton <dougb@FreeBSD.org>
To:        Scott Bennett <bennett@cs.niu.edu>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: getting bogged down by malfunctioning ports subsystem
Message-ID:  <4A7A5018.1050108@FreeBSD.org>
In-Reply-To: <200908051052.n75AqSAI005906@mp.cs.niu.edu>
References:  <200908051052.n75AqSAI005906@mp.cs.niu.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Scott Bennett wrote:
>      Yesterday's ports updates are just *loads* of fun. :-(  Until portmaster
> reached the rebuilding of perl5.10, *every* *single* *port* that got rebuilt
> ended in failure on a "make deinstall/make reinstall" recommendation, *none*
> of which actually worked when tried. 

You've heard the definition of insanity right? Doing the same thing
over and over and expecting a different result? If you're having
problems like this it's a good idea to report them sooner than later.
Unless you can give specifics it's basically impossible to help you.

> The only thing that worked was to ignore
> that part of the recommendation and instead to do a
> "env FORCE_PKG_REGISTER make install".  I didn't isolate that until after
> several rebuilt ports (mostly qt4- ports) were lost due to the failures of
> the recommended solution.

Personally I have had good luck with FORCE_PKG_REGISTER in these
situations, although it's probably worth noting for the record that
this recommendation comes from the ports infrastructure, not portmaster.

I would also like to point out that if you have problems with *every*
*single* *port* you might want to consider that you have a more
systemic problem with your particular pkg directory having become
corrupt, or something else on a grander scale than just "the ports
subsystem sucks."

>      perl5.10, however, now fails to update on something different.  It gets
> an error that says,
> 
>    .
>    .
>    .
> ===>>> Starting check for runtime dependencies
> ===>>> Gathering dependency list for lang/perl5.10 from ports
> ===>>> Starting dependency check
> ===>>> Checking dependency: /usr/ports/databases/gdbm
> ===>>> Dependency check complete for lang/perl5.10
> 
> /usr/bin/make install.perl install.man STRIPFLAGS= DESTDIR=""
> /usr/bin/strip: '/usr/local/bin/perl5.10.0': No such file
> /usr/bin/strip: '/usr/local/bin/perl': No such file
> /usr/local/bin/pod2man: not found
> *** Error code 127
> 
> It then proceeds to rebuild the port and install much of it before failing
> with
> 
> 1 error

In a situation like this what I would do is 'pkg_delete -f' the port,
then immediately rebuild it with portmaster again (so that portmaster
can register the dependencies properly when it installs). I agree that
is not "graceful," but the perl (and as I understand it python as
well) stuff is notoriously twitchy when it comes to these kinds of
problems.

I have considered changing the order of how portmaster does things from:

build
backup package (unless -B)
deinstall
install

to:
backup package
deinstall
build
install

That is undoubtedly more dangerous, and would require the "automated
backout" feature that I have yet to write, but it would solve a lot of
these problems.

-- 

    This .signature sanitized for your protection




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A7A5018.1050108>