From: M M on
Greetings from the Louisville, Kentucky! My name is Murphy McAllister. I am
writing this email in need of help/advice with FreeBSD, specifically with
fixing my ports.

If you would be so kind, here is my problem.

I currently have FreeBSD 8.0 RELEASE installed on my Pentium 4 box.

I installed it and then configured it with KDE 3.5.10 and for a while
everything was great. Everything ran fantastic. Then one day I tried to
install and configure an image scanner that we had. This is where I ran into
trouble:

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.

But unfortunately, jpeg-8 has broken KDE as well as X11. I found this out
when I rebooted my machine. KDE no longer ran on my machine, and X11 was
also broken as well. I had KDM configured to handle the login, but instead
of getting KDM on ttyv8, I received an error message on ttyv0 "*getty
repeating* *too quickly on port /dev/ttyv8, sleeping 30 secs*" and this
would repeat over and over indefinitely.

Here are some error messages I receive:

----------
When running the 'startx' command:
from the GUI:
A window surround by black saying "Could not start kstartupconfig. Check
your installation." After closing the window, another window appeared: "Call
to lnusertemp failed (temporary directories full?). Check your
installation."

from the console:
libexec/ld-elf.so.1: Shared object "libjpeg.so.10" not found, required by
"kstartupconfig"
libexec/ld-elf.so.1: Shared object "libjpeg.so.10" not found, required by
"kde-config"
libexec/ld-elf.so.1: Shared object "libjpeg.so.10" not found, required by
"lnusertemp"
----------



So if I'm not mistaken, I then ran portmanager ( or possibly portupdate) and
tried doing a total update of:

1. X11/xorg (and recursively all its dependencies)
2. X11/kde3 (and recursively all its dependencies)

This took a total of about 2 days to install both of these. Unfortunately,
and to my dismay, it did not fix the problem. I still got the exact same
error messages when rebooting.

So then I decided to try to get jpeg-7 back on my machine (as I was thinking
that the jpeg-8 installed port was what was giving me the problem). I was
able to do put the old port snapshot back on my machine via my 8.0 RELEASE
installation disk via the sysinstall method. I then went to the
/usr/ports/graphics/jpeg directory and did a 'make install clean'. It
installed the old jpeg port fine.

But alas, KDM still does not come up after rebooting (I get an error message
saying that ('kdm-bin: :0[1142]: Abnormal termination of greeter for display
:0, code 1, signal 0') and now when I run startx I get the error message:
("/libexec/ld-elf.so.1: Shared object 'libjpeg.so.11' not found, required by
'libqt-mt.so.3' ") and ("startkde: Could not start kdeinit. Check you
installation). I do however, get the black screen and can see my cursor.
When I test X11 the old fashioned way (Xorg -config xorg.conf.new -retro) I
get a nice grey screen as expected, with a nice X for my cursor that moves
as expected and no error messages. So it would seem that X11 might be close
to being OK.

I have tried to now get the jpeg-8 port installed again but I have been
unsuccessful. I have run portupgrade jpeg as well as tried portmaster but
they don't upgrade to the jpeg-8 port.

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.

My last idea is to install jpeg-8 and then cp the existing libjpeg.so.10
file to the same directory as libjpeg.so.11 and run this command:

ln -s /usr/local/lib/libjpeg.so.10 /usr/local/lib/libjpeg.so.11

I found out this might be a possible solution from doing research through
google.com

But I understand this may not be work and/or it may not be the best road to
take. And advice and/or instructions would greatly be appreciated!

Thank you so much for your time! :)

Best Regards,
Murphy
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Xin LI on
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2010/02/11 20:22, M M wrote:
> My last idea is to install jpeg-8 and then cp the existing libjpeg.so.10
> file to the same directory as libjpeg.so.11 and run this command:
>
> ln -s /usr/local/lib/libjpeg.so.10 /usr/local/lib/libjpeg.so.11
>
> I found out this might be a possible solution from doing research through
> google.com
>
> But I understand this may not be work and/or it may not be the best road to
> take. And advice and/or instructions would greatly be appreciated!

Hmm... If you have ONLY updated jpeg, you will be able to use a tool
called 'portdowngrade' to checkout and install a older version of jpeg.

Otherwise you may have to, end up with reinstalling all ports
(portmaster -a or portupgrade -ar would do it for you since the port
version bump).

Cheers,
- --
Xin LI <delphij(a)delphij.net> http://www.delphij.net/
FreeBSD - The Power to Serve! Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iQEcBAEBAgAGBQJLdOhvAAoJEATO+BI/yjfB8McIAL1kjLy0+102VAt5O5+lDFfH
LJGYI8KjjPxH+YOH3dOpkvGu3u030UGqaktT9ciaW1Z/Eb9MrdxLDjyjg7MRvX0A
yFhMH+LhoL07MseTNwz1Tyja6Z5DAmjBRvePxt5PDNj1ARHWpkU1h5HU14ChbQmG
KNIhk/BhmipT8Zh7PEh9vJhR2RGJ6gs2TihS6Wo+/sQO5VuQaZc67VL68qiOAh4O
SZ8f1s7HhsF9Rbz9SUviFY6TOYUjb1AqAONV+D0bJ4liypcN4ERcjQaQ2Whvlath
4jAk2Y5S4EMJYHvPyg7R64uuk4sD/JfHQ0rpsZNXSOS1UyE8KOKAAiOLX7nGyiE=
=hpXp
-----END PGP SIGNATURE-----
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Matthew Seaman on
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: itetcu(a)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

--
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

From: Jerry on
On Fri, 12 Feb 2010 08:51:54 +0000
Matthew Seaman <m.seaman(a)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: itetcu(a)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
gesbbb(a)yahoo.com

|::::=======
|::::=======
|===========
|===========
|

I'm for bringing back the birch, but only for consenting adults.

Gore Vidal

From: Matthew Seaman on
On 12/02/2010 11:25, Jerry wrote:
> 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.

I was misled by an out of date locate database. libjpeg.so.11 is the
ABI version installed by jpeg-8. It's been in the ports for about 6
days now.

Every port that links against libjpeg.so should have had its
PORTREVISION bumped so that they would be recompiled to link against
the new libjpeg shlib. This should happen automatically by using your
standard 'update everything that is out of date' ports maintenance command

# portupgrade -a

or

# portmanager -a

You'll know if you've run those commands because a good fraction of
your installed ports would have been rebuilt. Note however the bug and
workaround mentioned in UPDATING if you use KDE 3 or QT 33 based
software. If you don't apply the workaround, then eg. kde apps can end
up still linked against libjpeg.so.10.

If all your ports are apparently up to date, but still somehow not
linked against libjpeg.so.11 then the procedure I described in my
previous e-mail should sort you out.

Cheers,

Matthew

--
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