On Fri, 12 Feb 2010 08:51:54 +0000 Matthew Seaman <m.sea...@black-earth.co.uk> articulated:
> 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 (which happened to be jpeg-8, and I only had jpeg-7 > > installed on my machine). > > > > So If I remember correctly, I ended up using *Portupgrade* for this > > process. I believe I ran 'Portupgrade -ai' which took quite a long > > time. Portupgrade 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: ite...@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 you 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 => /lib/libz.so.5 (0x285ff000) > libXss.so.1 => /usr/local/lib/libXss.so.1 (0x28611000) > libaspell.so.16 => /usr/local/lib/libaspell.so.16 (0x28614000) > libQtDBus.so.4 => /usr/local/lib/qt4/libQtDBus.so.4 > (0x286cc000) [... etc ...] > > What you're looking for are lines that say 'libfoo => 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 > > configuration and forget about installing the image scanner. Above > > all else, I am just 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 I have been experiencing a similar problem. I cannot locate libjpeg.so.10 on my system after the update. I do have this version however: $ locate libjpeg.so.11 /usr/local/lib/libjpeg.so.11 however, nothing wants to link against it. -- Jerry ges...@yahoo.com |::::======= |::::======= |=========== |=========== | I'm for bringing back the birch, but only for consenting adults. Gore Vidal
signature.asc
Description: PGP signature