OpenCSW Bug Tracker


Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004970 [amanda] upgrade major always 2012-06-28 17:20 2012-07-10 17:37
Reporter rodbruce View Status public  
Assigned To maciej
Priority normal Resolution fixed  
Status closed  
Summary 0004970: Amanda 3.3.1 fails because it is built against system libglib-2.0 instead of csw's libglib-2.0.so.0
Description After upgrading to 3.3.1 when I try to run amcheck I get:

ld.so.1: amcheck: fatal: relocation error: file /opt/csw/lib/amanda/libamanda-3.3.1.so: symbol g_slist_free_full: referenced symbol not found

Using ldd I can see that libamanda-3.3.1.so is using the system libglib-2.0:

ldd /opt/csw/lib/amanda/libamanda-3.3.1.so
        libcurl.so.4 => /opt/csw/lib/i386/libcurl.so.4
        libidn.so.11 => /opt/csw/lib/i386/libidn.so.11
        libssl.so.1.0.0 => /opt/csw/lib/i386/libssl.so.1.0.0
        libcrypto.so.1.0.0 => /opt/csw/lib/i386/libcrypto.so.1.0.0
        libz.so.1 => /opt/csw/lib/pentium_pro+mmx/libz.so.1
        libm.so.2 => /lib/libm.so.2
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0
        libpthread.so.1 => /lib/libpthread.so.1
        libthread.so.1 => /lib/libthread.so.1
        librt.so.1 => /lib/librt.so.1
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
        libsocket.so.1 => /lib/libsocket.so.1
        libnsl.so.1 => /lib/libnsl.so.1
        libresolv.so.2 => /lib/libresolv.so.2
        libintl.so.8 => /opt/csw/lib/i386/libintl.so.8
        libc.so.1 => /lib/libc.so.1
        libiconv.so.2 => /opt/csw/lib/libiconv.so.2
        libdl.so.1 => /lib/libdl.so.1
        libaio.so.1 => /lib/libaio.so.1
        libmd.so.1 => /lib/libmd.so.1
        libmp.so.2 => /lib/libmp.so.2
        libscf.so.1 => /lib/libscf.so.1
        libdoor.so.1 => /lib/libdoor.so.1
        libuutil.so.1 => /lib/libuutil.so.1
        libgen.so.1 => /lib/libgen.so.1
Additional Information Amanda version 3.1.1 was built using csw's libglib-2.0.so.0:

ldd /opt/csw/lib/amanda/libamanda-3.1.1.so
        libm.so.1 => /lib/libm.so.1
        libgmodule-2.0.so.0 => /opt/csw/lib/i386/libgmodule-2.0.so.0
        libgobject-2.0.so.0 => /opt/csw/lib/i386/libgobject-2.0.so.0
        libgthread-2.0.so.0 => /opt/csw/lib/i386/libgthread-2.0.so.0
        libpthread.so.1 => /lib/libpthread.so.1
        libthread.so.1 => /lib/libthread.so.1
        librt.so.1 => /lib/librt.so.1
        libglib-2.0.so.0 => /opt/csw/lib/i386/libglib-2.0.so.0
        libintl.so.8 => /opt/csw/lib/i386/libintl.so.8
        libcurl.so.4 => /opt/csw/lib/i386/libcurl.so.4
        libcares.so.2 => /opt/csw/lib/i386/libcares.so.2
        libidn.so.11 => /opt/csw/lib/i386/libidn.so.11
        libldap-2.3.so.0 => /opt/csw/lib/i386/libldap-2.3.so.0
        liblber-2.3.so.0 => /opt/csw/lib/i386/liblber-2.3.so.0
        libgen.so.1 => /lib/libgen.so.1
        libnet.so => /opt/csw/lib/i386/libnet.so
        libsasl2.so.2 => /opt/csw/lib/i386/libsasl2.so.2
        libresolv.so.2 => /lib/libresolv.so.2
        libssl.so.0.9.8 => /opt/csw/lib/pentium_pro/libssl.so.0.9.8
        libcrypto.so.0.9.8 => /opt/csw/lib/pentium_pro/libcrypto.so.0.9.8
        libsocket.so.1 => /lib/libsocket.so.1
        libnsl.so.1 => /lib/libnsl.so.1
        libdl.so.1 => /lib/libdl.so.1
        libz.so.1 => /opt/csw/lib/pentium_pro+mmx/libz.so.1
        libc.so.1 => /lib/libc.so.1
        libaio.so.1 => /lib/libaio.so.1
        libmd.so.1 => /lib/libmd.so.1
        libiconv.so.2 => /opt/csw/lib/i386/libiconv.so.2
        libssl.so.1.0.0 => /opt/csw/lib/i386/libssl.so.1.0.0
        libcrypto.so.1.0.0 => /opt/csw/lib/i386/libcrypto.so.1.0.0
        liblber-2.4.so.2 => /opt/csw/lib/liblber-2.4.so.2
        libssl.so.0.9.8 => /opt/csw/lib/libssl.so.0.9.8
        libcrypto.so.0.9.8 => /opt/csw/lib/libcrypto.so.0.9.8
        libmp.so.2 => /lib/libmp.so.2
        libscf.so.1 => /lib/libscf.so.1
        libdoor.so.1 => /lib/libdoor.so.1
        libuutil.so.1 => /lib/libuutil.so.1
        libm.so.2 => /lib/libm.so.2
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0009988)
maciej (manager)
2012-06-28 18:00

I tried to reproduce this on the buildfarm:

maciej@testing10x [testing10x]:~ $ ldd /opt/csw/lib/amanda/libamanda-3.3.1.so
        libcurl.so.4 => /opt/csw/lib/i386/libcurl.so.4
        libidn.so.11 => /opt/csw/lib/i386/libidn.so.11
        libssl.so.1.0.0 => /opt/csw/lib/i386/libssl.so.1.0.0
        libcrypto.so.1.0.0 => /opt/csw/lib/i386/libcrypto.so.1.0.0
        libz.so.1 => /opt/csw/lib/pentium_pro+mmx/libz.so.1
        libm.so.2 => /lib/libm.so.2
        libgmodule-2.0.so.0 => /opt/csw/lib/i386/libgmodule-2.0.so.0
        libgobject-2.0.so.0 => /opt/csw/lib/i386/libgobject-2.0.so.0
        libgthread-2.0.so.0 => /opt/csw/lib/i386/libgthread-2.0.so.0
        libpthread.so.1 => /lib/libpthread.so.1
        libthread.so.1 => /lib/libthread.so.1
        librt.so.1 => /lib/librt.so.1
        libglib-2.0.so.0 => /opt/csw/lib/i386/libglib-2.0.so.0
        libsocket.so.1 => /lib/libsocket.so.1
        libnsl.so.1 => /lib/libnsl.so.1
        libresolv.so.2 => /lib/libresolv.so.2
        libintl.so.8 => /opt/csw/lib/i386/libintl.so.8
        libc.so.1 => /lib/libc.so.1
        libiconv.so.2 => /opt/csw/lib/libiconv.so.2
        libdl.so.1 => /lib/libdl.so.1
        libaio.so.1 => /lib/libaio.so.1
        libmd.so.1 => /lib/libmd.so.1
        libmp.so.2 => /lib/libmp.so.2
        libscf.so.1 => /lib/libscf.so.1
        libdoor.so.1 => /lib/libdoor.so.1
        libuutil.so.1 => /lib/libuutil.so.1
        libgen.so.1 => /lib/libgen.so.1

So the difference is that on your system you get:
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0

and here I get:
        libglib-2.0.so.0 => /opt/csw/lib/i386/libglib-2.0.so.0

So there must be a difference between your system and the buildfarm.

A couple things to check. The RPATH:
maciej@testing10x [testing10x]:~ $ /usr/ccs/bin/dump -Lv /opt/csw/lib/amanda/libamanda-3.3.1.so | grep RPATH
[23] RPATH /opt/csw/lib/$ISALIST:/opt/csw/lib

...looks good. The library file is present...

maciej@testing10x [testing10x]:~ $ ls -l /opt/csw/lib/libglib-2.0.so.0
lrwxrwxrwx 1 root root 23 Feb 13 16:38 /opt/csw/lib/libglib-2.0.so.0 -> libglib-2.0.so.0.2800.8
maciej@testing10x [testing10x]:~ $ ls -l /opt/csw/lib/libglib-2.0.so.0.2800.8
-rwxr-xr-x 1 root bin 1504536 Dec 11 2011 /opt/csw/lib/libglib-2.0.so.0.2800.8

...and the package is installed.


maciej@testing10x [testing10x]:~ $ /usr/sbin/pkgchk -l -p /opt/csw/lib/libglib-2.0.so.0
NOTE: Couldn't lock the package database.
Pathname: /opt/csw/lib/libglib-2.0.so.0
Type: symbolic link
Source of link: libglib-2.0.so.0.2800.8
Referenced by the following packages:
        CSWlibglib2-0-0
Current status: installed

Can you run the same and see if you get the same results?
(0009992)
maciej (manager)
2012-07-01 11:22

Waiting for feedback.
(0010009)
rodbruce (reporter)
2012-07-10 17:29

The problem on my server appears to have been with the libglib2-0-0 package. Even though I had version 2.28.8,REV=2011.12.11 installed, the soft link still pointed to the previous version (see below):

[rod@diskbu lib]$ ls -l libglib-2.0.so*
lrwxrwxrwx 1 root root 23 Jun 28 14:37 libglib-2.0.so -> libglib-2.0.so.0.2305.0
lrwxrwxrwx 1 root root 23 Jun 28 14:37 libglib-2.0.so.0 -> libglib-2.0.so.0.2305.0
-rwxr-xr-x 1 root bin 1310788 Mar 9 2010 libglib-2.0.so.0.2305.0
-rwxr-xr-x 1 root bin 1504536 Dec 11 2011 libglib-2.0.so.0.2800.8

I'm not sure why this was like this. I have had to muck around with packages in the past to get things to work so I probably inadvertently messed this up at some point.

I un-installed and re-installed the libglib2-0-0 package and I no longer get the linking error.

Thanks for your help.
(0010010)
maciej (manager)
2012-07-10 17:37

It could be a pkgadd problem / bug. I don't know what are the reproducibility conditions, but sometimes the symlinks aren't correctly replaced. We had a case of this on the buildfarm a couple of times.

There isn't anything that could be done on the OpenCSW side, unfortunately.


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker