From owner-freebsd-ports@FreeBSD.ORG Fri Sep 6 16:01:48 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 0AA327CF; Fri, 6 Sep 2013 16:01:48 +0000 (UTC) (envelope-from madpilot@FreeBSD.org) Received: from winston.madpilot.net (winston.madpilot.net [78.47.75.155]) by mx1.freebsd.org (Postfix) with ESMTP id 700B32B09; Fri, 6 Sep 2013 16:01:47 +0000 (UTC) Received: from winston.madpilot.net (localhost [127.0.0.1]) by winston.madpilot.net (Postfix) with ESMTP id 3cWk6L3nqWzFTGl; Fri, 6 Sep 2013 18:01:46 +0200 (CEST) X-Virus-Scanned: amavisd-new at madpilot.net Received: from winston.madpilot.net ([127.0.0.1]) by winston.madpilot.net (winston.madpilot.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wbfTazzG2rRy; Fri, 6 Sep 2013 18:01:44 +0200 (CEST) Received: from vwg82.hq.ignesti.it (unknown [77.246.14.163]) by winston.madpilot.net (Postfix) with ESMTPSA; Fri, 6 Sep 2013 18:01:44 +0200 (CEST) Message-ID: <5229FC68.5060908@FreeBSD.org> Date: Fri, 06 Sep 2013 18:01:44 +0200 From: Guido Falsi User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130904 Thunderbird/17.0.8 MIME-Version: 1.0 To: "O. Hartmann" Subject: Re: AFFECTS: 10-CURRENT users with any port depending on converters/libiconv References: <5229859C.4030208@FreeBSD.org> <5229F564.1010905@FreeBSD.org> <20130906175107.3c708d91@munin.geoinf.fu-berlin.de> In-Reply-To: <20130906175107.3c708d91@munin.geoinf.fu-berlin.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: AN , freebsd-ports@freebsd.org, freebsd-current@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Sep 2013 16:01:48 -0000 On 09/06/13 17:51, O. Hartmann wrote: > On Fri, 06 Sep 2013 17:31:48 +0200 > Guido Falsi 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@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@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 >>>> >>> >>> >>> I tried to install iconv and this is what happened: >>> cd /usr/ports/converters/libiconv >>> [root@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@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 ... > I can agree, but please note that this only applies to current, and will not apply to users upgrading from previous versions, since when changing major version a full rebuild of the ports is anyway the only supported update path. Perhaps this requirement(rebuild all ports) can be stressed out on the upcoming FreeBSD 10.0 documentation. That said, I'd like to get a better idea of exactly what to add to the UPDATING entry before changing it with random information more than one time. First of all I'd like to know how things turn out using the procedure I exaplined above, moving the libiconv.so.3 library to /usr/local/lib/compat/pkg. Then i could update the procedure in UPDATING with that. -- Guido Falsi