Re: [Tracker] tracker-extract goes south



Hey Martyn,

Am 27.06.2013 um 19:10 schrieb Martyn Russell <martyn lanedo com>:

On 27/06/13 16:54, Ralph Böhme wrote:
Hi

Hello Ralph,

after a long and struggling journey I managed to get Tracker 0.15
mostly up and running with OpenCSW for Solaris [1]. The package still
uses 0.15.2 because 0.16 depend on a newer glib package not available
yet in OpenCSW.

Now, for some reason tracker-extract keeps crashing when fired via
dbus or when launched manually. In order to preclude a faulty extract
module causing this, I removed all but the text extract module:

$ pwd /opt/csw/lib/tracker-0.16/extract-modules $ ls bak
libextract-text.so $ sudo rm -f /var/cores/* $

# /opt/csw/libexec/tracker-extract --verbosity=3
--file=/Volumes/test/test.txt Initializing tracker-extract...

Tracker-Message: Setting up monitor for changes to config
file:'/root/.config/tracker/tracker-extract.cfg' Locale
'TRACKER_LOCALE_LANGUAGE' was set to 'de_DE.UTF-8' Locale
'TRACKER_LOCALE_TIME' was set to 'de_DE.UTF-8' Locale
'TRACKER_LOCALE_COLLATE' was set to 'de_DE.UTF-8' Locale
'TRACKER_LOCALE_NUMERIC' was set to 'de_DE.UTF-8' Locale
'TRACKER_LOCALE_MONETARY' was set to 'de_DE.UTF-8' Initializing
Storage... Mount monitors set up for to watch for added, removed and
pre-unmounts... No mounts found to iterate Setting priority nice
level to 19 Loading extractor rules...
(/opt/csw/share/tracker/extract-rules) Loaded rule '10-abw.rule'
Loaded rule '10-dvi.rule' Loaded rule '10-epub.rule' Loaded rule
'10-html.rule' Loaded rule '10-ico.rule' Loaded rule '10-jpeg.rule'
Loaded rule '10-mp3.rule' Loaded rule '10-msoffice.rule' Loaded rule
'10-oasis.rule' Loaded rule '10-pdf.rule' Loaded rule '10-png.rule'
Loaded rule '10-ps.rule' Loaded rule '10-tiff.rule' Loaded rule
'10-xmp.rule' Loaded rule '11-msoffice-xml.rule' Loaded rule
'90-text-generic.rule' Loaded rule '93-mplayer-generic.rule' Loaded
rule '93-totem-generic.rule' Extractor rules loaded Couldn't get
memory information:'/proc/meminfo', Datei »/proc/meminfo« konnte
nicht geöffnet werden: No such file or directory Guessing mime type
as '(null)' Segmentation Fault (Speicherabzug geschrieben)

The message "Guessing mime type as '(null)'" is just a broken debug
message that uses the wrong variable, I've checked that...

$ sudo pstack /var/cores/core.tracker-extract.19507/1 core
'/var/cores/core.tracker-extract.19507/1' of 19507:
/opt/csw/libexec/tracker-extract --verbosity=3
--file=/Volumes/test/te -----------------  lwp# 1 / thread# 1
-------------------- fe63c422 memcpy   (8097f20, f79a7158, 1,
f79866b1) + 22 f7986721 __1cDstdGlocaleEinit6F_v_ (f796fb80,
9fbfe096, feffe95c, fe5a6dce, fda2c860, fda2fd44) + 81 f79754fb
__1cDstdNbasic_istream4Cwn0ALchar_traits4Cw___2t6Mn0AIios_baseJEmptyCtor__v_
(fda2fd28) + 6b f7974ef4 __SLIP.INIT_A (feffe9d8, f79bacb4, feffe9d8,
f7995a79, fe7fb8bc, fb8406d8) + 34 f797534b
__1cU__STATIC_CONSTRUCTOR6F_v_ (fe7fb8bc, fb8406d8, fb840ed8,
feffea18, fe7cbba6, fb840edc) + b f7995a79 ???????? (fb840edc,
fe7fb35c, 1, fe7fb3e4, f799578c, 0) fe7cbba6 call_init (fb840e98, 1,
2, fe7cc1ad) + 11a fe7cc2a7 load_completion (fd9008b8, 0, feffea88,
fe7d131d) + 10b fe7d13db dlmopen_check (fe7fb140, 8097dd8, 2,
fdf40018) + cb fe7d14c5 dlopen   (8097dd8, 2, 10000, fdf5130e) + 4d
fdf51345 _g_module_open (8097dd8) + 43 fdf51bfe g_module_open
(807c206, 2, fdbe2698, fdbe9176) + 2cc fdbe91bd load_module (8097d04,
1, 0, fdbe94a2) + 55 fdbe94c3 initialize_first_module (8095b00,
fe7be504, fe7908c8, fdbe94fe) + 2d fdbe953b
tracker_extract_module_manager_get_mimetype_handlers (809a6f8, 0,
feffebd8, 80591c3) + 4b 08059218
tracker_extract_get_metadata_by_cmdline (8080190) + 68 0805bbdf
run_standalone (807dec0, 805ebb8, feffec68, 805bdbe) + af 0805bdd5
main     (1, feffeca0, feffecb0, fe7fb8bc) + 19e 0805660d _start
(3, feffed80, 0, 0, 0, feffedcd) + 7d $

So it seems it's going south in some C++ init (std::locale::init ?),
so this is possibly a crash related to some glib glitch, not a
Tracker issue.

I'd highly appreciate any pointers that may shed some light on this.

What's the first module it's trying to load there?
It should say in the debug output somewhere the path that the .so files
are being loaded from.

I would try (by process of elimination) removing or disabling those
modules to see which is problematic.

Failing that, it could be an issue with the dlopen() APIs on Solaris.
I've seen this be problematic platform to platform before.

If I had to guess about the C++ thing, I would say it might be related
to the modules, some require G++ for linking IIRC.

Nevermind, guess I found the culprit. I had recently added support for extracting XMP (afair) with libexempi. 
It seems, libexempi is built with boost which pulls in stlport, while glib is linked with SUN libCstd (SUN 
C++ standard library). This results in both implementations of the C++ standard lib linked into the same 
binary.

This is the dependency chain:

root solaris:/home/ralph# ldd -v /opt/csw/lib/tracker-0.16/extract-modules/libextract-text.so 

   find object=libtracker-extract-0.16.so.0; required by 
/opt/csw/lib/tracker-0.16/extract-modules/libextract-text.so
        libtracker-extract-0.16.so.0 =>  /opt/csw/lib/i386/libtracker-extract-0.16.so.0

   find object=libglib-2.0.so.0; required by /opt/csw/lib/tracker-0.16/extract-modules/libextract-text.so
        libglib-2.0.so.0 =>      /opt/csw/lib/i386/libglib-2.0.so.0

   find object=libc.so.1; required by /opt/csw/lib/tracker-0.16/extract-modules/libextract-text.so
        libc.so.1 =>     /lib/libc.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libtracker-sparql-0.16.so.0; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libtracker-sparql-0.16.so.0 =>   /opt/csw/lib/i386/libtracker-sparql-0.16.so.0

   find object=libtracker-common.so.0; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libtracker-common.so.0 =>        /opt/csw/lib/tracker-0.16/libtracker-common.so.0

   find object=libgio-2.0.so.0; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libgio-2.0.so.0 =>       /opt/csw/lib/i386/libgio-2.0.so.0

   find object=libgobject-2.0.so.0; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libgobject-2.0.so.0 =>   /opt/csw/lib/i386/libgobject-2.0.so.0

   find object=libgmodule-2.0.so.0; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libgmodule-2.0.so.0 =>   /opt/csw/lib/i386/libgmodule-2.0.so.0

   find object=libpthread.so.1; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libpthread.so.1 =>       /lib/libpthread.so.1
   find version=libpthread.so.1
        libpthread.so.1 (SUNW_0.9) =>    /lib/libpthread.so.1

   find object=libglib-2.0.so.0; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0

   find object=libexif.so.12; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libexif.so.12 =>         /opt/csw/lib/i386/libexif.so.12

   find object=libiptcdata.so.0; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libiptcdata.so.0 =>      /opt/csw/lib/i386/libiptcdata.so.0

   find object=libexempi.so.3; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
        libexempi.so.3 =>        /opt/csw/lib/i386/libexempi.so.3

   find object=libc.so.1; required by /opt/csw/lib/i386/libtracker-extract-0.16.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libiconv.so.2; required by /opt/csw/lib/i386/libglib-2.0.so.0
        libiconv.so.2 =>         /opt/csw/lib/i386/libiconv.so.2

   find object=libpcre.so.1; required by /opt/csw/lib/i386/libglib-2.0.so.0
        libpcre.so.1 =>  /opt/csw/lib/i386/libpcre.so.1

   find object=libpthread.so.1; required by /opt/csw/lib/i386/libglib-2.0.so.0
   find version=libpthread.so.1
        libpthread.so.1 (SUNW_1.2) =>    /lib/libpthread.so.1

   find object=libthread.so.1; required by /opt/csw/lib/i386/libglib-2.0.so.0
        libthread.so.1 =>        /lib/libthread.so.1
   find version=libthread.so.1
        libthread.so.1 (SUNW_1.1) =>     /lib/libthread.so.1

   find object=libintl.so.8; required by /opt/csw/lib/i386/libglib-2.0.so.0
        libintl.so.8 =>  /opt/csw/lib/i386/libintl.so.8

   find object=libc.so.1; required by /opt/csw/lib/i386/libglib-2.0.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.23) =>         /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libtracker-data.so.0; required by /opt/csw/lib/i386/libtracker-sparql-0.16.so.0
        libtracker-data.so.0 =>  /opt/csw/lib/tracker-0.16/libtracker-data.so.0

   find object=libtracker-common.so.0; required by /opt/csw/lib/i386/libtracker-sparql-0.16.so.0

   find object=libgio-2.0.so.0; required by /opt/csw/lib/i386/libtracker-sparql-0.16.so.0

   find object=libgobject-2.0.so.0; required by /opt/csw/lib/i386/libtracker-sparql-0.16.so.0

   find object=libglib-2.0.so.0; required by /opt/csw/lib/i386/libtracker-sparql-0.16.so.0

   find object=libuuid.so.1; required by /opt/csw/lib/i386/libtracker-sparql-0.16.so.0
        libuuid.so.1 =>  /opt/csw/lib/i386/libuuid.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libtracker-sparql-0.16.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libgio-2.0.so.0; required by /opt/csw/lib/tracker-0.16/libtracker-common.so.0

   find object=libgobject-2.0.so.0; required by /opt/csw/lib/tracker-0.16/libtracker-common.so.0

   find object=libglib-2.0.so.0; required by /opt/csw/lib/tracker-0.16/libtracker-common.so.0

   find object=libintl.so.8; required by /opt/csw/lib/tracker-0.16/libtracker-common.so.0

   find object=libm.so.2; required by /opt/csw/lib/tracker-0.16/libtracker-common.so.0
        libm.so.2 =>     /lib/libm.so.2
   find version=libm.so.2
        libm.so.2 (SUNW_1.2) =>  /lib/libm.so.2

   find object=libc.so.1; required by /opt/csw/lib/tracker-0.16/libtracker-common.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libgobject-2.0.so.0; required by /opt/csw/lib/i386/libgio-2.0.so.0

   find object=libgmodule-2.0.so.0; required by /opt/csw/lib/i386/libgio-2.0.so.0

   find object=libglib-2.0.so.0; required by /opt/csw/lib/i386/libgio-2.0.so.0

   find object=libpthread.so.1; required by /opt/csw/lib/i386/libgio-2.0.so.0
   find version=libpthread.so.1
        libpthread.so.1 (SUNW_1.1) =>    /lib/libpthread.so.1

   find object=libsocket.so.1; required by /opt/csw/lib/i386/libgio-2.0.so.0
        libsocket.so.1 =>        /lib/libsocket.so.1
   find version=libsocket.so.1
        libsocket.so.1 (SUNW_1.5) =>     /lib/libsocket.so.1

   find object=libz.so.1; required by /opt/csw/lib/i386/libgio-2.0.so.0
        libz.so.1 =>     /opt/csw/lib/pentium_pro+mmx/libz.so.1

   find object=libresolv.so.2; required by /opt/csw/lib/i386/libgio-2.0.so.0
        libresolv.so.2 =>        /lib/libresolv.so.2
   find version=libresolv.so.2
        libresolv.so.2 (SUNW_2.1) =>     /lib/libresolv.so.2

   find object=libintl.so.8; required by /opt/csw/lib/i386/libgio-2.0.so.0

   find object=libc.so.1; required by /opt/csw/lib/i386/libgio-2.0.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.22) =>         /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libglib-2.0.so.0; required by /opt/csw/lib/i386/libgobject-2.0.so.0

   find object=libffi.so.4; required by /opt/csw/lib/i386/libgobject-2.0.so.0
        libffi.so.4 =>   /opt/csw/lib/i386/libffi.so.4

   find object=libc.so.1; required by /opt/csw/lib/i386/libgobject-2.0.so.0
   find version=libc.so.1
        libc.so.1 (SYSVABI_1.3) =>       /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libglib-2.0.so.0; required by /opt/csw/lib/i386/libgmodule-2.0.so.0

   find object=libpthread.so.1; required by /opt/csw/lib/i386/libgmodule-2.0.so.0
   find version=libpthread.so.1
        libpthread.so.1 (SUNW_1.1) =>    /lib/libpthread.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libgmodule-2.0.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.22) =>         /lib/libc.so.1

   find object=libintl.so.8; required by /opt/csw/lib/i386/libexif.so.12

   find object=libm.so.1; required by /opt/csw/lib/i386/libexif.so.12
        libm.so.1 =>     /lib/libm.so.1
   find version=libm.so.1
        libm.so.1 (SUNW_1.1) =>  /lib/libm.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libexif.so.12
   find version=libc.so.1
        libc.so.1 (SUNW_1.1) =>  /lib/libc.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libiptcdata.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.1) =>  /lib/libc.so.1

   find object=libiconv.so.2; required by /opt/csw/lib/i386/libexempi.so.3

   find object=libexpat.so.1; required by /opt/csw/lib/i386/libexempi.so.3
        libexpat.so.1 =>         /opt/csw/lib/i386/libexpat.so.1

   find object=libz.so.1; required by /opt/csw/lib/i386/libexempi.so.3

   find object=libc.so.1; required by /opt/csw/lib/i386/libexempi.so.3
   find version=libc.so.1
        libc.so.1 (SUNW_1.1) =>  /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libstlport.so.1; required by /opt/csw/lib/i386/libexempi.so.3
        libstlport.so.1 =>       /opt/csw/lib/i386/libstlport.so.1

   find object=librt.so.1; required by /opt/csw/lib/i386/libexempi.so.3
        librt.so.1 =>    /lib/librt.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libiconv.so.2
   find version=libc.so.1
        libc.so.1 (SUNW_1.18) =>         /lib/libc.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libpcre.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libiconv.so.2; required by /opt/csw/lib/i386/libintl.so.8

   find object=libc.so.1; required by /opt/csw/lib/i386/libintl.so.8
   find version=libc.so.1
        libc.so.1 (SUNW_1.18.1) =>       /lib/libc.so.1

   find object=libuuid.so.1; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0

   find object=libtracker-common.so.0; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0

   find object=libm.so.2; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0
   find version=libm.so.2
        libm.so.2 (SUNW_1.1) =>  /lib/libm.so.2

   find object=libgio-2.0.so.0; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0

   find object=libgobject-2.0.so.0; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0

   find object=libglib-2.0.so.0; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0

   find object=libsqlite3.so.0; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0
        libsqlite3.so.0 =>       /opt/csw/lib/i386/libsqlite3.so.0

   find object=libicuuc.so.51; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0
        libicuuc.so.51 =>        /opt/csw/lib/i386/libicuuc.so.51

   find object=libicui18n.so.51; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0
        libicui18n.so.51 =>      /opt/csw/lib/i386/libicui18n.so.51

   find object=libc.so.1; required by /opt/csw/lib/tracker-0.16/libtracker-data.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libgcc_s.so.1; required by /opt/csw/lib/i386/libuuid.so.1
        libgcc_s.so.1 =>         /opt/csw/lib/i386/libgcc_s.so.1
   find version=libgcc_s.so.1
        libgcc_s.so.1 (GCC_3.0) =>       /opt/csw/lib/i386/libgcc_s.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libuuid.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_0.7) =>  /lib/libc.so.1

   find object=libc.so.1; required by /lib/libm.so.2
   find version=libc.so.1
        libc.so.1 (SUNW_1.1) =>  /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libnsl.so.1; required by /lib/libsocket.so.1
        libnsl.so.1 =>   /lib/libnsl.so.1
   find version=libnsl.so.1
        libnsl.so.1 (SUNW_1.7) =>        /lib/libnsl.so.1
        libnsl.so.1 (SUNWprivate_1.1) =>         /lib/libnsl.so.1

   find object=libc.so.1; required by /lib/libsocket.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.23) =>         /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libc.so.1; required by /opt/csw/lib/pentium_pro+mmx/libz.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.1) =>  /lib/libc.so.1

   find object=libsocket.so.1; required by /lib/libresolv.so.2
   find version=libsocket.so.1
        libsocket.so.1 (SUNW_1.4) =>     /lib/libsocket.so.1
        libsocket.so.1 (SUNWprivate_1.1) =>      /lib/libsocket.so.1

   find object=libnsl.so.1; required by /lib/libresolv.so.2
   find version=libnsl.so.1
        libnsl.so.1 (SUNW_1.7) =>        /lib/libnsl.so.1
        libnsl.so.1 (SUNWprivate_1.1) =>         /lib/libnsl.so.1

   find object=libc.so.1; required by /lib/libresolv.so.2
   find version=libc.so.1
        libc.so.1 (SUNW_1.23) =>         /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libmd.so.1; required by /lib/libresolv.so.2
        libmd.so.1 =>    /lib/libmd.so.1
   find version=libmd.so.1
        libmd.so.1 (SUNW_1.1) =>         /lib/libmd.so.1

   find object=libgcc_s.so.1; required by /opt/csw/lib/i386/libffi.so.4
   find version=libgcc_s.so.1
        libgcc_s.so.1 (GCC_3.0) =>       /opt/csw/lib/i386/libgcc_s.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libffi.so.4
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libexpat.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libCrun.so.1; required by /opt/csw/lib/i386/libstlport.so.1
        libCrun.so.1 =>  /usr/lib/libCrun.so.1
   find version=libCrun.so.1
        libCrun.so.1 (SUNW_1.4) =>       /usr/lib/libCrun.so.1

   find object=libm.so.2; required by /opt/csw/lib/i386/libstlport.so.1
   find version=libm.so.2
        libm.so.2 (SUNW_1.1.1) =>        /lib/libm.so.2

   find object=librt.so.1; required by /opt/csw/lib/i386/libstlport.so.1
   find version=librt.so.1
        librt.so.1 (SUNW_1.2) =>         /lib/librt.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libstlport.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.1) =>  /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libc.so.1; required by /opt/csw/lib/i386/libsqlite3.so.0
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libCrun.so.1; required by /opt/csw/lib/i386/libicuuc.so.51
   find version=libCrun.so.1
        libCrun.so.1 (SUNW_1.1) =>       /usr/lib/libCrun.so.1

   find object=libicudata.so.51; required by /opt/csw/lib/i386/libicuuc.so.51
        libicudata.so.51 =>      /opt/csw/lib/libicudata.so.51

   find object=libpthread.so.1; required by /opt/csw/lib/i386/libicuuc.so.51
   find version=libpthread.so.1
        libpthread.so.1 (SUNW_0.9) =>    /lib/libpthread.so.1

   find object=libm.so.2; required by /opt/csw/lib/i386/libicuuc.so.51
   find version=libm.so.2
        libm.so.2 (SUNW_1.2) =>  /lib/libm.so.2

   find object=libCrun.so.1; required by /opt/csw/lib/i386/libicui18n.so.51
   find version=libCrun.so.1
        libCrun.so.1 (SUNW_1.2) =>       /usr/lib/libCrun.so.1

   find object=libCstd.so.1; required by /opt/csw/lib/i386/libicui18n.so.51
        libCstd.so.1 =>  /usr/lib/libCstd.so.1
   find version=libCstd.so.1
        libCstd.so.1 (SUNW_1.1.1) =>     /usr/lib/libCstd.so.1
        libCstd.so.1 (SUNW_1.1) =>       /usr/lib/libCstd.so.1

   find object=libicuuc.so.51; required by /opt/csw/lib/i386/libicui18n.so.51

   find object=libm.so.2; required by /opt/csw/lib/i386/libicui18n.so.51
   find version=libm.so.2
        libm.so.2 (SUNW_1.1) =>  /lib/libm.so.2

   find object=libc.so.1; required by /opt/csw/lib/i386/libgcc_s.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.22.2) =>       /lib/libc.so.1

   find object=libmp.so.2; required by /lib/libnsl.so.1
        libmp.so.2 =>    /lib/libmp.so.2
   find version=libmp.so.2
        libmp.so.2 (SUNW_1.1) =>         /lib/libmp.so.2
        libmp.so.2 (SUNWprivate_1.1) =>  /lib/libmp.so.2

   find object=libmd.so.1; required by /lib/libnsl.so.1
   find version=libmd.so.1
        libmd.so.1 (SUNW_1.1) =>         /lib/libmd.so.1

   find object=libc.so.1; required by /lib/libnsl.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.23) =>         /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libc.so.1; required by /lib/libmd.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.23) =>         /lib/libc.so.1

   find object=libcryptoutil.so.1; required by /lib/libmd.so.1
        libcryptoutil.so.1 =>    /lib/libcryptoutil.so.1
   find version=libcryptoutil.so.1
        libcryptoutil.so.1 (SUNWprivate) =>      /lib/libcryptoutil.so.1

   find object=libc.so.1; required by /usr/lib/libCrun.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.1) =>  /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libCrun.so.1; required by /usr/lib/libCstd.so.1
   find version=libCrun.so.1
        libCrun.so.1 (SUNW_1.1) =>       /usr/lib/libCrun.so.1

   find object=libc.so.1; required by /usr/lib/libCstd.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.18) =>         /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   find object=libc.so.1; required by /lib/libmp.so.2
   find version=libc.so.1
        libc.so.1 (SYSVABI_1.3) =>       /lib/libc.so.1

   find object=libc.so.1; required by /lib/libcryptoutil.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.23) =>         /lib/libc.so.1

   object=/lib/libc.so.1; filter for /usr/lib/ld.so.1

   object=/lib/libc.so.1; filter for libm.so.2

   find object=libm.so.2; required by /lib/libc.so.1

   object=/lib/libpthread.so.1; filter for libc.so.1

   find object=libc.so.1; required by /lib/libpthread.so.1

   object=/lib/libthread.so.1; filter for libc.so.1

   find object=libc.so.1; required by /lib/libthread.so.1

   object=/lib/libsocket.so.1; filter for libc.so.1

   find object=libc.so.1; required by /lib/libsocket.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.23) =>         /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1

   object=/lib/libresolv.so.2; filter for libnsl.so.1

   find object=libnsl.so.1; required by /lib/libresolv.so.2
   find version=libnsl.so.1
        libnsl.so.1 (SUNW_1.7) =>        /lib/libnsl.so.1
        libnsl.so.1 (SUNWprivate_1.1) =>         /lib/libnsl.so.1

   object=/lib/libm.so.1; filter for libm.so.2

   find object=libm.so.2; required by /lib/libm.so.1

   object=/lib/librt.so.1; filter for libc.so.1

   find object=libc.so.1; required by /lib/librt.so.1

   object=/lib/libnsl.so.1; filter for libc.so.1

   find object=libc.so.1; required by /lib/libnsl.so.1
   find version=libc.so.1
        libc.so.1 (SUNW_1.23) =>         /lib/libc.so.1
        libc.so.1 (SUNWprivate_1.1) =>   /lib/libc.so.1
root solaris:/home/ralph# 

Guess I have to remove XMP support for now.

Thanks!
-r

-- 
Ralph Böhme <rb netafp com>
Netatalk Developer | Support | Services
Curslacker Deich 254, 21039 Hamburg, Germany
Phone: +49-(0)40-20235977
http://www.netafp.com/

Attachment: smime.p7s
Description: S/MIME cryptographic signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]