portupgrade stale dependencies

John DeStefano john.destefano at gmail.com
Thu Oct 27 18:32:41 PDT 2005

On 10/27/05, Andrew P. <infofarmer at gmail.com> wrote:
> On 10/27/05, John DeStefano <john.destefano at gmail.com> wrote:
> >
> > After clearing out the ports, updating ports (with portsnap) and
> > source, and rebuilding the system and kernel... it seemed the ultimate
> > problem was actually a dependency of the package to apache1.3. After I
> > ran 'pkgdb -F' and "fixed" this dependency to point to apache2.1, but
> > I still had trouble installing ports.
> >
> > 'portsdb -Uu' would not run, so I ran 'make fetchindex' and
> > 'portupdate -a'.  From what I've read, this _should_ create an index
> > and update all out-of-date ports and their dependencies, but it never
> > has worked for me.  I just tried this combination again, and it
> > (again) punts during portupdate.  This time, 38 ports were skipped and
> > 7 failed, the first failure being a strange compiler error in updating
> > from apache-2.0.48.
> >
> > I've been fighting with ports for long enough now to have become a bit
> > frustrated with them.  If you have any thoughts or suggestions on how
> > to troubleshoot them, please pass them on.
> >
> > Thanks,
> > ~John
> >
> Do not fix dependencies if you're not sure that they
> are really broken. Don't use apache21 unless 2.0
> is absolutely inappropriate. The proper way to change
> dependencies from apache1 to apache2 is to add
> "WITH_APACHE2=true" to /etc/make.conf (or to
> /usr/local/etc/pkgtools.conf, but that's an advanced
> topic).

I wasn't really looking to upgrade to apache21, just to update my
version (2.0.48) to any more current port, since other ports keep
barking about it being out-of-date.

I added the "WITH_APACHE2=true" parameter, but when I try to upgrade
my apache port, it seems to still be looking to the "wrong" version:
...Upgrading 'apache-2.0.48' to 'apache-2.1.4' (www/apache21)

This process attempts to build and then consistently fails with the
same error, which seems to my untrained eye like a C function error in

ssl_engine_pphrase.c: In function `ssl_pphrase_Handle_CB':
ssl_engine_pphrase.c:684: error: `PEM_F_DEF_CALLBACK' undeclared
(first use in this function)
ssl_engine_pphrase.c:684: error: (Each undeclared identifier is
reported only once
ssl_engine_pphrase.c:684: error: for each function it appears in.)
*** Error code 1

Stop in /usr/ports/www/apache21/work/httpd-2.1.4-alpha/modules/ssl.
*** Error code 1

Stop in /usr/ports/www/apache21/work/httpd-2.1.4-alpha/modules/ssl.
*** Error code 1

Stop in /usr/ports/www/apache21/work/httpd-2.1.4-alpha/modules.
*** Error code 1

Stop in /usr/ports/www/apache21/work/httpd-2.1.4-alpha.
*** Error code 1

Stop in /usr/ports/www/apache21/work/httpd-2.1.4-alpha.
*** Error code 1

Stop in /usr/ports/www/apache21.
** Command failed [exit code 1]: /usr/bin/script -qa
/tmp/portupgrade38050.3 make
** Fix the problem and try again.

Apparently, this is an OpenSSL-related bug, and there's a "patch"
availavble for it somewhere <?>  Is there a way to fix this without
applying a patch?

> If you have portsdb utility, don't use make fetchindex,
> just add -F to portsdb: "portsdb -uUF" will work fine.

"portsdb -uU" wasn't working for me for a while, but I finally got it
going last night. Kris maintained that I should use "make fetchindex"
instead of "portsdb -uU" before running "portupgrade -a", at least
until my package installation dependencies were in better condition,
at which time I could resume using "portsdb -uU".  Problem is,
"portupgrade -a" still isn't working to update all installed packages
(most, but not all), regardless of whether it is preceded by "portsdb
-uU" or "portupgrade -a".

> You cann add -k to portupgrade, so that it doesn't
> skip ports (but it won't fix the failed ones).
> John, you'll have to spend a few hours reading
> ports documentation before you find them really
> great (which they really are).

I have no problem with reading as much documentation as I can find.
Aside from the handbook (Chapter 4, which is a nice overview) and man
pages (which are great for quick and complete reference), what else
would you recommend for gaining a more detailed understanding?  And I
do already agree that the port system is great, even with all the
trouble I'm having.



More information about the freebsd-questions mailing list