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

From: AN <andy_at_neu.net>
Date: Fri, 6 Sep 2013 11:26:11 -0400 (EDT)
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.
Received on Fri Sep 06 2013 - 13:26:14 UTC

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