Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Jun 2012 03:20:01 -0400
From:      "b. f." <bf1783@googlemail.com>
To:        freebsd-ports@FreeBSD.org
Cc:        Leslie Jensen <leslie@eskk.nu>
Subject:   Re: Shared object "libpng.so.6"
Message-ID:  <CAGFTUwMSpkwptxF6P4Y5SwtwpPW%2B-5pfZtPijOCueq8%2BWPxX%2Bg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
> /libexec/ld-elf.so.1: Shared object "libpng.so.6" not found, required by
> "libkdefx.so.6"
> /usr/local/bin/moc ./domainbrowser.h -o domainbrowser.moc
> gmake[2]: *** [settings.h] Fel 1
> gmake[2]: *** Inv=C3=A4ntar oavslutade jobb...
> gmake[2]: L=C3=A4mnar katalogen
> "/usr/ports/x11/kdelibs3/work/kdelibs-3.5.10/dnssd"
> gmake[1]: *** [all-recursive] Fel 1
> gmake[1]: L=C3=A4mnar katalogen "/usr/ports/x11/kdelibs3/work/kdelibs-3.5=
.10"
> gmake: *** [all] Fel 2
> *** Error code 1
>
> Stop in /usr/ports/x11/kdelibs3.

[top-posting reshuffled]

> I keep getting this error :-(

... and the answer is still essentially the same:  remove the package
that has the dependency upon the old png library that you have removed
('ldconfig -vr' and 'pkg_info -W' can help here) and proceed with your
update. After your update is done, rebuild the ports that you have
removed manually, if portmaster hasn't already done so.  Here it looks
like your new build of kde3libs is sloppily linking against the old
version of kde3libs that you still have installed, and which still
depends upon the old png libraries.  That's not good, but it happens
sometimes with normal builds on live systems, because the library
search paths in a lot of ports are not handled carefully.  (And it
happens with ports that are more actively used than kdelibs3, which is
deprecated.) Remember that these updates are tested in sandboxed
builds, with a default base system, and where only the software that
is necessary for the build is installed -- so the maintainers won't
encounter every problem that can arise during a normal build on a live
system, where there could be customizations and other installed
software that can unexpectedly interact with the build.  And thus
portmaster can't avoid all of these problems, even if you follow some
of the procedures mentioned in UPDATING,  because it orders the
updates only according to the dependency information that is hardcoded
in the port Makefiles or in packages, and doesn't deinstall ports
before updating.  If you want to be safe, then use packages, or build
your ports in a sandbox.  Or remove all of the software that you
intend to update _before_ beginning a major update, instead of trying
to take shortcuts just to avoid some downtime. (You could follow a
procedure similar to that described in the portmaster manpage for
"Using portmaster to do a complete reinstallation of all your ports",
but limit yourself to the subset of ports that are directly _and_
indirectly dependent upon the port that you are updating.) Some people
use the "-w" flag with portmaster, which keeps the old shared
libraries around, but that can't solve all of these problems, and can
sometimes lead to more subtle problems that are harder to solve.


> I just wrote in another post that on one of my machines where I
> successfully have done the same png- update I can't find libpng.so.6
> anywhere!

And neither can the loader, which is why you are seeing the error -- becaus=
e you
removed that library when updating png, as I tried to explain to you earlie=
r.

b.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGFTUwMSpkwptxF6P4Y5SwtwpPW%2B-5pfZtPijOCueq8%2BWPxX%2Bg>