Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Feb 2010 08:51:54 +0000
From:      Matthew Seaman <m.seaman@black-earth.co.uk>
To:        M M <77superchimp@gmail.com>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: FreeBSD Ports Problem - Please help
Message-ID:  <4B7516AA.3010600@black-earth.co.uk>
In-Reply-To: <6790187d1002112022q1a0dcd1dxbf9accdba50167c9@mail.gmail.com>
References:  <6790187d1002112022q1a0dcd1dxbf9accdba50167c9@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig25A208E75B4E56AB9F04D245
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 12/02/2010 04:22, M M wrote:
> I followed the FreeBSD guidebook and tried to install the ports
> 'graphics/sane-backends' and 'graphics/sane-frontends', but when I did =
this,
> FreeBSD told me I needed the latest installation of graphics/jpeg (whic=
h
> happened to be jpeg-8, and I only had jpeg-7 installed on my machine).
>=20
> So If I remember correctly, I ended up using *Portupgrade* for this pro=
cess.
> I believe I ran 'Portupgrade -ai' which took quite a long time. Portupg=
rade
> worked great or whatever Port updating command I ran did a wonderful
> job....it updated the graphics/jpeg port on my machine.

The root of the problem you're seeing is due to the change in the
libjpeg.so ABI version: libjpeg.so.10 is installed by jpeg-8, but most
of your apps want to link against libjpeg.so.9 installed by jpeg-7.
Rebuilding all out of date ports (via portupgrade -a) should have been
the correct action to fix that.  However, some problems with the update
were discovered and subsequently fixed.  Have you seen this entry from
/usr/ports/UPDATING?

20100205:
  AFFECTS: users of qt 3 and kde 3
  AUTHOR: itetcu@FreeBSD.org

  When building qt33 and kdelibs3 (at least), while they are installed,
because
  of -L/usr/local/lib being passed too soon, the currently installed
libs are
  used instead of the ones from the build. This makes the build fail if y=
ou
  updated any of the libs this qt / kde libs are linked against (like
libjpeg).

  For the moment the workaround, when you get to this, is to move the
old lib
  out of the way, e.g.:
  mv /usr/local/lib/libqt-mt.so /usr/local/lib/libqt-mt.so.old && \
  cd /usr/ports/x11-toolkits/qt33/ && make && \
  mv /usr/local/lib/libqt-mt.so.old /usr/local/lib/libqt-mt.so && \
  portmaster -C x11-toolkits/qt33
  (or portupgrade -w qt-33\*), etc.

I suggest the best thing to try first is: update your ports tree to the
latest using csup(1) or portsnap(8) or however you'ld usually do it.

Forcibly delete whatever libjpeg you have installed, and then reinstall
jpeg-8:

    # pkg_delete -f jpeg-\*      (This will give you alarming warning
                                  messages, which you can ignore)
    # cd /usr/ports/graphics/jpeg
    # make install
    # pkgdb -F

Apply the advice above to move the incorrectly linked shlibs out of the
way and rebuild them properly.  This might make things work again.

If it doesn't try and identify any binaries in /usr/local/bin that link
against missing shlibs and re-install the ports that supply them.
Do that by running ldd(1) against the apps.  Eg. like this:

% ldd /usr/local/bin/psi
/usr/local/bin/psi:
	libz.so.5 =3D> /lib/libz.so.5 (0x285ff000)
	libXss.so.1 =3D> /usr/local/lib/libXss.so.1 (0x28611000)
	libaspell.so.16 =3D> /usr/local/lib/libaspell.so.16 (0x28614000)
	libQtDBus.so.4 =3D> /usr/local/lib/qt4/libQtDBus.so.4 (0x286cc000)
        [... etc ...]

What you're looking for are lines that say 'libfoo =3D> not found (0x0)'
For any such, work out what port supplies that application, and
reinstall it:

    # pkg_which /usr/local/bin/psi
    # portupgrade -f `pkg_which /usr/local/bin/psi`

That's going to be long-winded and tedious, but should still be a bit
quicker than force-reinstalling everything that depends on jpeg, kde
and qt.

> Any advice would be greatly appreciated. At this point I am waiving the=

> white flag and I would love to just get back to my original configurati=
on
> and forget about installing the image scanner. Above all else, I am jus=
t
> trying to avoid a total reinstall of FreeBSD 8.0.

There's no need to go that far.  If you want to take a nuke-and-repave
approach, you can do it by deleting and reinstalling just the affected
ports.  In extremis, you could do something like this:

   * Make a note of all the ports you have installed already that
     depend on libjpeg:

        % pkg_info -Rx jpeg > ports-I-want-installed

   * Blow away libjpeg and everything that links against it:

        # pkg_deinstall -fr graphics/jpeg

   * Reinstall what you want from ports-I-want-installed.  If you
     choose the important leaf ports first (the ones that provide the
     apps you actually use) then most of the ports on that list will
     get automatically reinstalled as dependencies.

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.              7 Priory Courtyard, Flat 3
Black Earth Consulting                       Ramsgate
                                             Kent, CT11 9PW
Free and Open Source Solutions               Tel: +44 (0)1843 580647


--------------enig25A208E75B4E56AB9F04D245
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkt1FrMACgkQ8Mjk52CukIx2dACeJMCQ7mwB2HrWyE4bEE7Nxi6F
PvsAnjISV4KdLcQZ7svkSpWEd+Gig2Gi
=JKYB
-----END PGP SIGNATURE-----

--------------enig25A208E75B4E56AB9F04D245--



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