Re: AFFECTS: 10-CURRENT users with any port depending on converters/libiconv

From: O. Hartmann <ohartman_at_zedat.fu-berlin.de>
Date: Sun, 8 Sep 2013 22:36:32 +0200
On Fri, 06 Sep 2013 09:34:52 +0200
Guido Falsi <madpilot_at_FreeBSD.org> wrote:

> On 09/06/13 05:16, AN wrote:
> > Hi:
> >
> > I am posting to both lists because this problem affects users of
> > current and ports, and I didn't know which would be more
> > appropriate so please forgive me.
> >
> > # uname -a
> > FreeBSD FBSD10 10.0-CURRENT FreeBSD 10.0-CURRENT #80 r255129: Sun
> > Sep  1 16:01:36 CDT 2013
> > root_at_FBSD10:/usr/obj/usr/src/sys/MYKERNEL  amd64
> >
> > I am trying to update my ports following the entry in updating, but
> > it does not seem to be working correctly.  I followed the directions
> > exactly, and after 30 mins this is what has happened:
> >
> > # cat ports_to_update | xargs portupgrade -vf
> > --->  Session started at: Thu, 05 Sep 2013 21:12:10 -0500
> > [Reading data from pkg(8) ... - 890 packages found - done]
> > Shared object "libiconv.so.3" not found, required by "httpd"
> > make: "/usr/ports/Mk/bsd.apache.mk" line 278: warning: Couldn't read
> > shell's output for "/usr/local/sbin/httpd -V | /usr/bin/sed -ne
> > 's/^Server version: Apache\/\([0-9]\)\.\([0-9]*\).*/\1\2/p'"
> > Shared object "libiconv.so.3" not found, required by "httpd"
> 
> This is bsd.apache.mk trying to get the apache version. but the
> apache's "httpd" binary cannot run because it can't find
> libiconv.so.3.
> 
> > apxs:Error: Sorry, no shared object support for Apache.
> > apxs:Error: available under your platform. Make sure.
> > apxs:Error: the Apache module mod_so is compiled into.
> > apxs:Error: your server binary `/usr/local/sbin/httpd'..
> > make: "/usr/ports/Mk/bsd.apache.mk" line 284: warning:
> > "/usr/local/sbin/apxs -q MPM_NAME" returned non-zero status
> > ** Port marked as IGNORE: www/mod_dnssd:
> >      is marked as broken: : Error from bsd.apache.mk. apache is
> > installed (or APACHE_PORT is defined) and port requires apache22 at
> > least
> >
> >
> > Here is what I have done:
> > # pkg query %ro libiconv >ports_to_update
> > [root_at_FBSD10 ~]# cat ports_to_update
> >
> > ...lots of output
> >
> > # pkg delete -f libiconv
> > pkg: You are trying to delete package(s) which has dependencies
> > that are still required:
> > ... delete these packages anyway in forced mode
> > Deinstallation has been requested for the following 1 packages:
> >
> >      libiconv-1.14_1
> >
> > The deinstallation will free 2 MB
> >
> > Proceed with deinstalling packages [y/N]: y
> > [1/1] Deleting libiconv-1.14_1...
> > deleting anyway
> >
> >   done
> >
> > Now the update process is stuck here:
> >
> > ** Port marked as IGNORE: www/mod_dnssd:
> >      is marked as broken: : Error from bsd.apache.mk. apache is
> > installed (or APACHE_PORT is defined) and port requires apache22 at
> > least
> >
> > there are 2 ruby processes running for a long time, but nothing is
> > happening to the update.
> >
> > 43998 root        52    0 64912K 33368K piperd  5   2:21   5.96%
> > ruby19{ruby19}
> > 43998 root        52    0 64912K 33368K select  1   0:00   5.96%
> > ruby19{ruby19}
> >
> > So, it seems my system is broken now.  Did I do something wrong?
> > How can the upgrade work if so many ports depend on iconv?  What
> > should I do now? Should I reinstall libiconv?
> >
> 
> Good news is the update process did not really update anything,
> judging from the output you sent. If you just reinstall libiconv
> everything should go back to how it was, at least you get a working
> system.
> 
> I admit I did not foresee this condition arising when I wrote the 
> instructions, here is a modified procedure you can follow and report 
> back about, so I can modify the UPDATING entry:
> 
> # pkg query %ro libiconv >ports_to_update
> # cp /usr/local/lib/libiconv.so.3 /usr/local/lib/compat/pkg/
> # ldconfig -R
> (1) # pkg delete -f libiconv
> # cat ports_to_update | xargs portupgrade -f
> 
> (1) not sure if ldconfig -R is really needed, but It will not do any
>      harm
> 
> I added the step to preserve libiconv.so.3
> in /usr/local/lib/compat/pkg which is in the default library search
> path. In this way libiconv and it's include file shouldn't be found
> by configure scripts and the like and they should link to the system
> one, while existing binaries should keep working linking to the
> preserved one in lib/compat.
> 
> > Any help is appreciated.
> 
> I hope this helps you, just ask for any clarifications and further
> help as needed on this matter.
> 

Just for the record:

after three days of cleaning up this mess today two boxes got "ready",
servers, without any GUI or fancy X11 stuff. They work.

Two other development boxes reject compiling kdelibs and stuff. After
the final update today on CURRENT r255398, ports like kdevelop,
firefox, libreoffice(!) and others crash along with virtualbox-ose-kmod
(coredump). Most of that stuff, including libreoffice, firefox was
ready last night, including kdelibs and the stuff for kdevelop. It
worked today - until now, r255398.

I do not know what happened here, but I'm through with it. Two
obviously independend processes, one from the ports side, another from
the OS side, intertwined and messy as hell rendered the systems
completely unusable. 

As I reported on several occasions, after r255259 it wasn't possible to
compile kdelibs an other ports anymore. I have not made a list of
those, after three days wasting time and a lost weekendI lost the
data, sorry.

As far as I can see this, some changes corrupt the effords of two days
bringing up the ports system. After updating the OS this evening most
of the successfully updated, crucial working tools do not work anymore
and dum cores, if ever.

Received on Sun Sep 08 2013 - 18:36:35 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:41 UTC