From owner-freebsd-gnome@FreeBSD.ORG Thu Dec 23 08:22:19 2010 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0973A1065670; Thu, 23 Dec 2010 08:22:19 +0000 (UTC) (envelope-from rfg@tristatelogic.com) Received: from outgoing.tristatelogic.com (segfault.tristatelogic.com [69.62.255.118]) by mx1.freebsd.org (Postfix) with ESMTP id AAE848FC0A; Thu, 23 Dec 2010 08:22:18 +0000 (UTC) Received: from segfault-nmh-helo.tristatelogic.com (localhost [127.0.0.1]) by segfault.tristatelogic.com (Postfix) with ESMTP id 384FDBDC34; Thu, 23 Dec 2010 00:02:46 -0800 (PST) To: mezz@FreeBSD.org In-Reply-To: <201012201634.oBKGY97Q083871@freefall.freebsd.org> Date: Thu, 23 Dec 2010 00:02:46 -0800 Message-ID: <51944.1293091366@tristatelogic.com> From: "Ronald F. Guilmette" Cc: gnome@FreeBSD.org Subject: Re: ports/153300: configure error for misc/shared-mime-info-0.80 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Dec 2010 08:22:19 -0000 In message <201012201634.oBKGY97Q083871@freefall.freebsd.org>, you wrote: >Synopsis: configure error for misc/shared-mime-info-0.80 > >State-Changed-From-To: open->closed >State-Changed-By: mezz >State-Changed-When: Mon Dec 20 16:33:16 UTC 2010 >State-Changed-Why: >Not missing dependency, because it already depends on perl stuff. It sounds >like you didn't follow the Perl upgrade in /usr/ports/UPDATING. You need to >reinstall all ports that depend on Perl and it will solve your issue. > >http://www.freebsd.org/cgi/query-pr.cgi?pr=153300 Actually, I _have_ upgraded Perl properly. That wasn't the problem at all. I eventually managed to work around the problems I was having, but only by manually building and reinstalling various ports. (Using ordinary "portinstall -a" was most definitely failing all over the place.) The _actual_ problem seemed to me to be that there are a whole bunch of things that depend, directly or indirectly, on icu-x.y.z but that currently don't know that they are dependent on that. (Actually, and more specifically, there appear to be a quite a lot of dynamic libraries in /usr/local/lib that are dependent upon libicui18n.so.NN.) In particular, one of the things that seemed to be causing a lot of problems (after the upgrade to icu-4.6) was gobject-introspection. I gather that this is dependent on at least a couple of libraries in /usr/local/lib, and it appears that those in turn had not been properly/automatically upgraded after my initial attempts to do "portupgrade -a" had already upgraded icu to version 4.6 (from 3.8). And apparently, there are great gobs of things that depend on gobject-introspection. (See list below.) So the problem of the lack of proper dependencies can and does ripple through a whole lot of ports. Hummm... I have just been checking now to try to provide you with a list of all of the libraries in /usr/local/lib that depend upon ibicui18n.so.NN and then also a list of all of the ports associated with these... so that you could check for yourself and make sure that all of those ports properly declare a dependency upon the icu port... but having started this process, I see that EVEN AFTER all my fiddling (i.e. manual rebuilds & reinstalls) needed to get "portupgrade -a" to finally complete successfully, I *still* have a lot of libraries installed in /usr/local/lib that are _still_ dependent upon the old (and now replaced/absent) version of libicui18n.so.NN, specifically, all of these: libbonobo-2.so: libicui18n.so.38 => not found (0x0) libbonobo-activation.so: libicui18n.so.38 => not found (0x0) libbonoboui-2.so: libicui18n.so.38 => not found (0x0) libgee.so: libicui18n.so.38 => not found (0x0) libgnome-2.so: libicui18n.so.38 => not found (0x0) libgnomecanvas-2.so: libicui18n.so.38 => not found (0x0) libgnomecups-1.0.so: libicui18n.so.38 => not found (0x0) libgnomeprint-2-2.so: libicui18n.so.38 => not found (0x0) libgnomeprintui-2-2.so: libicui18n.so.38 => not found (0x0) libgnomeui-2.so: libicui18n.so.38 => not found (0x0) libgnomevfs-2.so: libicui18n.so.38 => not found (0x0) libnotify.so: libicui18n.so.38 => not found (0x0) libopenrawgnome.so: libicui18n.so.38 => not found (0x0) I guess that now that I know about all of these additional problems, I have no real choice but to manually rebuild and reinstall all of the ports associated with these libraries also, i.e. in order to avoid lots of random and spurious run-time failures due to the missing libicui18n.so.38 library file, upon which all of these other libraries apparently depend. So anyway, here is a complete list of all of the libraries I currently have in /usr/local/lib that are dependent upon the continuing presence of the exact same version of libicui18n.so.NN as was in place at the time they were built. If something comes along later and "upgrades" libicui18n.so.NN so that the "NN" part changes, then ALL of these libraries (and all of their associated ports) effectively become broken. (And I really DO believe that at least a few of the ports associated with these libraries are NOT properly declaring a dependency upon the icu port, such that when the installed version of icu changes, these other ports will be subjected to a fiorced rebuild/reinstall.) Because of this seemingly pervasive problem, I think that you should give some consideration to re-opening this PR. On the other hand, if I am wrong about any part of my analysis, then by all means, please do enlighten me as to where I have gone wrong. List of libraries in /usr/local/lib that depend on libicui18n.so.NN: ==================================================================== libIDL-2.so libMagick++.so libMagickCore.so libMagickWand.so libORBit-2.so libORBit-imodule-2.so libORBitCosNaming-2.so libatk-1.0.so libavahi-glib.so libavahi-gobject.so libbonobo-2.so libbonobo-activation.so libbonoboui-2.so libboost_graph.so libboost_regex.so libbrasero-burn.so libbrasero-media.so libbrasero-utils.so libcairo-gobject.so libcanberra-gtk.so libclutter-glx-1.0.so libclutter-gtk-0.10.so libcroco-0.6.so libdbus-glib-1.so libdconf.so libeggdbus-1.so libgailutil.so libgconf-2.so libgcr.so libgdk-x11-2.0.so libgdk_pixbuf-2.0.so libgdk_pixbuf_xlib-2.0.so libgee.so libgio-2.0.so libgirepository-1.0.so libglade-2.0.so libglib-2.0.so libgmime-2.4.so libgmodule-2.0.so libgnome-2.so libgnome-desktop-2.so libgnome-keyring.so libgnomecanvas-2.so libgnomecups-1.0.so libgnomeprint-2-2.so libgnomeprintui-2-2.so libgnomeui-2.so libgnomevfs-2.so libgobject-2.0.so libgp11.so libgsf-1.so libgstapp-0.10.so libgstaudio-0.10.so libgstbase-0.10.so libgstbasevideo-0.10.so libgstcdda-0.10.so libgstcheck-0.10.so libgstcontroller-0.10.so libgstdataprotocol-0.10.so libgstfft-0.10.so libgstinterfaces-0.10.so libgstnet-0.10.so libgstnetbuffer-0.10.so libgstpbutils-0.10.so libgstphotography-0.10.so libgstreamer-0.10.so libgstriff-0.10.so libgstrtp-0.10.so libgstrtsp-0.10.so libgstsdp-0.10.so libgstsignalprocessor-0.10.so libgsttag-0.10.so libgstvideo-0.10.so libgthread-2.0.so libgtk-x11-2.0.so libgvfscommon-dnssd.so libgvfscommon.so libicuio.so libicutest.so libicutu.so libjson-glib-1.0.so liblqr-1.so libnautilus-extension.so libnotify.so libopenrawgnome.so libpango-1.0.so libpangocairo-1.0.so libpangoft2-1.0.so libpangox-1.0.so libpangoxft-1.0.so libpolkit-agent-1.so libpolkit-backend-1.so libpolkit-gnome.so libpolkit-gobject-1.so libpolkit-grant.so libpyglib-2.0-python2.6.so librsvg-2.so libsoup-2.4.so libsoup-gnome-2.4.so libtotem-plparser-mini.so libtotem-plparser.so libunique-1.0.so libvala-0.10.so List of ports (that I have installed) that depend on gobject-introspection: =========================================================================== avahi-app-0.6.28 brasero-2.32.1 clutter-1.4.0 clutter-gtk-0.10.8_1 consolekit-0.4.3 dconf-0.5.1_3 firefox-3.6.13,1 gconf2-2.32.0_2 gnome-desktop-2.32.1 gnome-icon-theme-2.31.0_1 gnome-keyring-2.32.1 gnome-mount-0.8_7 gnome-vfs-2.24.4 gstreamer-0.10.31 gstreamer-ffmpeg-0.10.11_1 gstreamer-plugins-0.10.31,3 gstreamer-plugins-a52dec-0.10.16,3 gstreamer-plugins-bad-0.10.20,3 gstreamer-plugins-core-0.10_12 gstreamer-plugins-dts-0.10.20,3 gstreamer-plugins-dvd-0.10.16,3 gstreamer-plugins-gconf-0.10.26,3 gstreamer-plugins-good-0.10.26,3 gstreamer-plugins-libpng-0.10.26,3 gstreamer-plugins-mad-0.10.16,3 gstreamer-plugins-mp3-0.10.0_1 gstreamer-plugins-ogg-0.10.31,3 gstreamer-plugins-pango-0.10.31,3 gstreamer-plugins-theora-0.10.31,3 gstreamer-plugins-ugly-0.10.16,3 gstreamer-plugins-vorbis-0.10.31,3 gstreamer-plugins-xvid-0.10.20,3 gthumb-2.12.1 gtk-2.22.1_1 gtk-engines2-2.20.1_1 gvfs-1.6.6 hal-0.5.14_10 hydra-5.8 json-glib-0.12.0 libbonoboui-2.24.4 libcanberra-0.26 libglade2-2.6.4_3 libgnome-2.32.0 libgnome-keyring-2.32.0 libgnomecanvas-2.30.2 libgnomeprint-2.18.8 libgnomeprintui-2.18.6 libgnomeui-2.24.4 libgsf-1.14.19 libnotify-0.5.2 libopenraw-0.0.8_3 librsvg2-2.32.1_1 libsoup-gnome-2.32.2 nautilus-2.32.2 nspluginwrapper-1.2.2_7 opera-11.00 pango-1.28.3 policykit-gnome-0.9.2_5 polkit-0.99 py26-gobject-2.26.0 py26-gtk-2.22.0_1 totem-pl-parser-2.32.1 unique-1.1.6_2 xf86-input-keyboard-1.4.0 xf86-input-mouse-1.5.0 xf86-video-ati-6.13.0 xf86-video-intel-2.7.1_3 xf86-video-mach64-6.8.2 xf86-video-nv-2.1.17 xf86-video-openchrome-0.2.904_2 xf86-video-r128-6.8.1 xf86-video-radeonhd-1.3.0_3 xf86-video-vesa-2.3.0 xorg-drivers-7.5 xorg-server-1.7.5,1