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

From: O. Hartmann <ohartman_at_zedat.fu-berlin.de>
Date: Fri, 6 Sep 2013 17:51:07 +0200
On Fri, 06 Sep 2013 17:31:48 +0200
Guido Falsi <madpilot_at_FreeBSD.org> wrote:

> On 09/06/13 17:26, AN wrote:
> >
> >
> > On Fri, 6 Sep 2013, Guido Falsi 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.
> >>
> >> --
> >> Guido Falsi <madpilot_at_FreeBSD.org>
> >>
> >
> >
> > I tried to install iconv and this is what happened:
> >   cd /usr/ports/converters/libiconv
> > [root_at_FBSD10 /usr/ports/converters/libiconv]# make install clean
> > ===>  libiconv-1.14_1 converters/libiconv should not be used with
> > OSVERSION > 1000050.  Please fix the port which tries to use it.
> > *** Error code 1
> >
> > Stop.
> > make: stopped in /usr/ports/converters/libiconv
> > [root_at_FBSD10 /usr/ports/converters/libiconv]#
> >
> > So, now I can not install libiconv.  What should I do now, can I
> > force it to install?  System is badly broken from this procedure
> > now.
> 
> Sorry, I forgot to mention, to install that port now you need to
> remove the "IGNORE" line from it's Makefile.
> 


This must be documented at an official place and not in this mailing
list dungeon ...

Received on Fri Sep 06 2013 - 13:46:41 UTC

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