Ports upgrade

Doug Barton dougb at FreeBSD.org
Thu Jul 26 18:21:16 UTC 2007

Khaled Hussein wrote:
>    Last week i upgraded our servers when there was vulnerability on php,
>    clamav etc, but when i finished my upgrades i faced many problems, one
>    of it was i cannot login to some of my servers, it was bash issue
>    after upgrading gettext port, and i see in the UPDATING file that i
>    have to run portupgrade -rf gettext and this solve the problem of bash
>    , i used portmanager in upgrading the ports

All of the problems you're facing are related to the fact that libintl
(part of gettext) bumped it's major version number, and the programs
you are having problems with are linked against the old version which
you no longer have on your system.

The portupgrade line above (or the equivalent 'portmaster -r gettext')
would have rebuilt gettext first, then every port that depends on it
to make sure that they would still work. This is usually only needed
in a situation like this when a library bumps its major.

For portmaster there is also an option (-w) to save old shared libs
when you do an upgrade so that you can handle upgrading the rest of
the dependent ports gracefully. There is an equivalent option in
portupgrade, I just don't recall what it is.

For the case of bash specifically, there are two ways to avoid this
problem. The first is to build bash static by putting
'WITH_STATIC_BASH= yes' in make.conf, or ports.conf. The other is to
not use bash as your login shell, but rather to use sh, then have a
.profile that starts bash if it's available:

if [ -x /usr/local/bin/bash ]; then
	exec /usr/local/bin/bash --login

Personally I do both. :)

>    after that i faced again many problems, one of them till now i cannot
>    solve it, when i run vim editor i got [/libexec/ld-elf.so.1: Shared
>    object "libintl.so.6" not found, required by "vim"]
>    and in my squirrelmail when i change my password also it fails with
>    this error [ --> /libexec/ld-elf.so.1: Shared object "libintl.so.6"
>    not found, required by "courierpassd" ], also the same file missed,

You need to force a rebuild of those two ports, assuming that you have
the new gettext installed.

>    any one can guide me please how to fix my problems, because i work in
>    ISP and these services is used by our customers

Well I hope that this helps you, and your customers. :)

>    my OS is Freebsd 6.1 and 6.0

I know that in-place upgrades are always hard, but you might want to
consider at least upgrading the OS on the 6.0 box. Lots and lots of
bug fixes and performance improvements have been added to the RELENG_6
branch since that one came out.




    This .signature sanitized for your protection

More information about the freebsd-ports mailing list