Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 02 Jul 2014 18:32:13 +0100
From:      Mike Clarke <jmc-freebsd2@milibyte.co.uk>
To:        freebsd-questions@freebsd.org
Cc:        Maciej Suszko <maciej@suszko.eu>
Subject:   Re: /usr/local/lib/compat/pkg/ cleanup ?
Message-ID:  <2862326.RiQ9aP1WQA@curlew.lan>
In-Reply-To: <20140702084125.50882034@helium>
References:  <20140627161801.GA38362@admin.sibptus.tomsk.ru> <20140628135325.GA55592@admin.sibptus.tomsk.ru> <20140702084125.50882034@helium>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 02 July 2014 08:41:25 Maciej Suszko wrote:

> 1) find /usr/local -type f -print0 | xargs -0 ldd > /tmp/ldds
> 2 ) search the ldds file for "not found" or "compat"
> 3) find what packages affected files belongs to
> 4) recompile affected packages

Thanks for that very useful tip.

I've just done those steps and confirmed that it's OK for me to remove 
everything in /usr/local/lib/compat/pkg. Interestingly it also 
highlighted several hundred instances of "not found". Rebuilding a 
couple of ports and setting LD_LIBRARY_PATH to  
/usr/local/openjdk6/jre/lib/amd64:/usr/local/openjdk6/jre/lib/amd64/server:/usr/local/openoffice-4.0.1/openoffice4/program 
before re-running ldd sorted out most of them but I was still left 
with 128 "not found" objects all of which were related to items in 
/usr/local/lib32.

For example:

curlew:/tmp% uname -a
FreeBSD curlew.lan 9.1-RELEASE-p14 FreeBSD 9.1-RELEASE-p14 #0: Tue Jun  
3 08:56:12 UTC 2014     root@amd64-
builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

curlew:/tmp% ldd /usr/local/bin32/wmc
/usr/local/bin32/wmc:
        libgettextpo.so.5 => /usr/local/lib32/libgettextpo.so.5 
(0x281ea000)
        libc.so.7 => /usr/lib32/libc.so.7 (0x2822f000)
        libintl.so.9 => not found (0)
        libiconv.so.3 => not found (0)

But libintl.so.9 and libiconv.so.3 do exist.

curlew:/tmp% ls -l `locate libintl.so.9;locate libiconv.so.3`
-r--r--r--  1 root  wheel  1084833 27 Apr 00:22 
/usr/local/lib/libiconv.so.3
-r--r--r--  1 root  wheel    50469 11 May 18:25 
/usr/local/lib/libintl.so.9
-r--r--r--  1 root  wheel  1056534 16 Jun 20:53 
/usr/local/lib32/libiconv.so.3
-r--r--r--  1 root  wheel    41764 16 Jun 20:53 
/usr/local/lib32/libintl.so.9

 /usr/local/bin32/wmc,  libintl.so.9 and libiconv.so.3 are part of  
emulators/i386-wine-devel and I had reinstalled wine from ports 
immediately before running the above ldd command.

Wine is working without any problems so I'm puzzled why ldd was not 
able to find some objects which do exist. I was wondering if the 
existence of both 64 bit and 32 bit versions of the files on my 
computer is the cause - ldd was able to detect 
/usr/local/lib32/libgettextpo.so.5 which only exists as a 32 bit 
version on my computer.

curlew:/tmp% pkg info i386-wine-devel-1.7.20,1
i386-wine-devel-1.7.20,1
Name           : i386-wine-devel
Version        : 1.7.20,1
Installed on   : Wed Jul  2 15:31:44 BST 2014
Origin         : emulators/i386-wine-devel
Architecture   : freebsd:9:x86:64
Prefix         : /usr/local
Categories     : emulators
Licenses       : LGPL3 or LGPL21
Maintainer     : dbn@FreeBSD.org
WWW            : http://www.winehq.org/
Comment        : 32bit Microsoft Windows compatibility environment for 
64bit FreeBSD
Options        :
        GECKO          : off
        MONO           : off
Shared Libs required:
        libxml2.so.2
        libxcb.so.1
        libxcb-glx.so.0
        libwine.so.1
        libtasn1.so.7
        libpthread-stubs.so.0
        libp11-kit.so.0
        libopenal.so.1
        libnettle.so.4
        liblcms2.so.2
        libintl.so.9
        libiconv.so.3
        libhogweed.so.2
        libgmp.so.10
        libgettextpo.so.5
        libfreetype.so.6
        libexpat.so.6
        libdrm_intel.so.1
        libdrm.so.2
        libXxf86vm.so.1
        libXrender.so.1
        libXfixes.so.3
        libXext.so.6
        libXdmcp.so.6
        libXdamage.so.1
        libXau.so.6
        libX11.so.6
        libX11-xcb.so.1
        libGLU.so.1
        libGL.so.1
Shared Libs provided:
        libxslt.so.2
        libxml2.so.2
        libxcb.so.1
        libxcb-glx.so.0
        libwine.so.1
        libpthread-stubs.so.0
        libpng15.so.15
        libopenal.so.1
        liblcms2.so.2
        libjpeg.so.11
        libintl.so.9
        libiconv.so.3
        libgnutls.so.26
        libgettextpo.so.5
        libfreetype.so.6
        libfontconfig.so.1
        libexpat.so.6
        libdrm_intel.so.1
        libdrm.so.2
        libcups.so.2
        libXxf86vm.so.1
        libXrender.so.1
        libXrandr.so.2
        libXi.so.6
        libXfixes.so.3
        libXext.so.6
        libXdmcp.so.6
        libXdamage.so.1
        libXcursor.so.1
        libXcomposite.so.1
        libXau.so.6
        libX11.so.6
        libX11-xcb.so.1
        libGLU.so.1
        libGL.so.1
Flat size      : 211MiB
Description    :
Wine is a Microsoft Windows compatibility layer (or program loader)
capable of running Windows applications on i386 and compatible CPUs.
Windows programs running in Wine act as native programs would, running
without the performance or memory usage penalties of an emulator, with
a similar look and feel to other applications on your desktop.

Many applications already work, more or less, including versions of
Microsoft Office and several games.

WWW: http://www.winehq.org/


-- 
Mike Clarke



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2862326.RiQ9aP1WQA>