[ydl-gen] installed YDL 4.1 over 3.0.1; rpm and yum broken: undefined symbols?

Michael Evans mevans at ltrr.arizona.edu
Mon Aug 28 00:37:00 MDT 2006


Bill,

Thanks for your very helpful messages.  I've got

mevans at zero:~$ ldd /bin/rpm | grep k
        libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x0f5c0000)
        libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x0f6f0000)
        libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x0f6c0000)
        libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x0f6a0000)

with

ll /usr/kerberos/lib/libgssapi_krb5.so.2 /usr/kerberos/lib/libkrb5.so.3 /usr/kerberos/lib/libk5crypto.so.3 /usr/kerberos/lib/libcom_err.so.3
lrwxrwxrwx  1 root root 17 May  8  2003 /usr/kerberos/lib/libcom_err.so.3 -> libcom_err.so.3.0*
lrwxrwxrwx  1 root root 21 May  8  2003 /usr/kerberos/lib/libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2*
lrwxrwxrwx  1 root root 18 May  8  2003 /usr/kerberos/lib/libk5crypto.so.3 -> libk5crypto.so.3.0*
lrwxrwxrwx  1 root root 14 May  8  2003 /usr/kerberos/lib/libkrb5.so.3 -> libkrb5.so.3.1*

and with

mevans at zero:~$ ll /usr/kerberos/lib/libgssapi_krb5.so.2.2  /usr/kerberos/lib/libkrb5.so.3.1 /usr/kerberos/lib/libk5crypto.so.3.0 /usr/kerberos/lib/libcom_err.so.3.0
-rwxr-xr-x  1 root root  21K Apr 23  2003 /usr/kerberos/lib/libcom_err.so.3.0*
-rwxr-xr-x  1 root root 101K Apr 23  2003 /usr/kerberos/lib/libgssapi_krb5.so.2.2*
-rwxr-xr-x  1 root root  91K Apr 23  2003 /usr/kerberos/lib/libk5crypto.so.3.0*
-rwxr-xr-x  1 root root 453K Apr 23  2003 /usr/kerberos/lib/libkrb5.so.3.1*

and 

mevans at zero:~$ rpm -q krb5-libs
krb5-libs-1.2.7-14
krb5-libs-1.3.4-6

I assume the first krb5-libs package listed is from the 3.0.1 installation. 

where you had

gwiz% ldd /bin/rpm | grep k
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x0f8d5000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0f849000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0f806000)

Would you be able to confirm for me on your 4.1 system that you've got
newer/different libraries?  And if so, would you please email (or make
available via download) these to me?  I've got another computer
(webserver) running YDL4.0 but I'd rather not mess with updating that
until I have the current problem fixed.  I'll look if there's a way to
just reinstall the krb5-libs from the 4.1 install CDs.

Thanks again,
Mike

On Sun, 27 Aug 2006, Bill Fink wrote:

> Date: Sun, 27 Aug 2006 12:53:23 -0400
> From: Bill Fink <billfink at mindspring.com>
> To: Bill Fink <billfink at mindspring.com>
> Cc: yellowdog-general at lists.terrasoftsolutions.com, mevans at ltrr.arizona.edu
> Subject: Re: installed YDL 4.1 over 3.0.1; rpm and yum broken: undefined
>     symbols?
> 
> After re-looking at your error message from the rpm command, it seems
> that you actually have a krb5-libs package installed, but it's just
> not a recent enough version.
> 
> The Kerberos libraries you will have to manually update are:
> 
> gwiz% ldd /bin/rpm | grep k
>         libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x0f8d5000)
>         libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0f849000)
>         libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0f806000)
> 
> Those are actually just symbolic links, so the actual libraries needed
> are:
> 
> 	/usr/lib/libgssapi_krb5.so.2.2
> 	/usr/lib/libkrb5.so.3.2
> 	/usr/lib/libk5crypto.so.3.0
> 
> You will need to get these from another compatible YDL 4.1 system.
> 
> Once you've update those libraries, hopefully you will then be able
> to run rpm.  Use rpm to update the krb5-libs package as I described
> earlier.  You would then hopefully be back in good shape to use yum
> to update any other parts of your system.
> 
> 						-Bill
> 
> 
> 
> On Sun, 27 Aug 2006, I wrote:
> 
> > Bummer.  I just noticed that rpm2cpio also has a reference to the
> > Kerberos libraries, so what I suggested may not work.  In that case,
> > you would have to manually install the required Kerberos libraries
> > first (by for example copying them from another compatible system).
> > 
> > 						-Bill
> > 
> > 
> > 
> > On Sun, 27 Aug 2006, I wrote:
> > 
> > > Hi Mike,
> > > 
> > > On Fri Aug 25 2006, Michael Evans wrote:
> > > 
> > > > Apologies if this question has been answered already; I couldn't find
> > > > anything relevant on the archives.  Yum and rpm are complaining about
> > > > undefined symbols within libraries.
> > > > 
> > > > I just installed YDL 4.1 from CDs (sagitta release) to a Quicksilver
> > > > (2002) dual 1GHz G4 tower which was happily running 3.0.1.  At
> > > > installation I chose not to reformat drives; and to install selinux and
> > > > firewall with ssh port open; to install everything as I had done with
> > > > 3.0.1 long ago.  The install (more install.log | grep "error") did not
> > > > report any problems, and display, X, smp, networking, sound, etc appear
> > > > fine.  I have /etc/yum.conf pointing to 4.1 repositories at
> > > > ydl.osuosl.org, but I can't get yum or rpm to run out of the box.
> > > > 
> > > > Here are the error messages:
> > > > 
> > > > [root at zero ~]# yum update
> > > > There was a problem importing one of the Python modules
> > > > required to run yum. The error leading to this problem was:
> > > >  
> > > >    /lib/libssl.so.5: undefined symbol: krb5_cc_get_principal
> > > >  
> > > > Please install a package which provides this module, or
> > > > verify that the module is installed correctly.
> > > >  
> > > > It's possible that the above module doesn't match the
> > > > current version of Python, which is:
> > > > 2.4.2 (#1, Nov 10 2005, 16:51:21)
> > > > [GCC 3.4.4 20050721 (Yellow Dog 3.4.4-2.ydl.2)]
> > > >  
> > > > If you cannot solve this problem yourself, please send this
> > > > message to <yum at lists.linux.duke.edu>.
> > > > 
> > > > [root at zero ~]#
> > > > 
> > > > (Should I redirect this request there?)
> > > 
> > > The krb5_cc_get_principal symbol is defined in the krb5-libs package:
> > > 
> > > gwiz% nm /usr/lib/libkrb5.a | grep krb5_cc_get_principal
> > >          U krb5_cc_get_principal
> > > 00000138 T krb5_cc_get_principal
> > >          U krb5_cc_get_principal
> > >          U krb5_cc_get_principal
> > >          U krb5_cc_get_principal
> > > nm: ser_eblk.o: no symbols
> > >          U krb5_cc_get_principal
> > > 
> > > I had to use the .a library rather than the .so shared library since
> > > the .so libraries have been stripped of the symbols.  The 'T' record
> > > defines the symbol and the 'U' records are undefined references to the
> > > symbol (which get resolved by the loader).
> > > 
> > > The programs such as yum actually use the shared libraries, so to find
> > > which package contains libkrb5:
> > > 
> > > gwiz% rpm -qf /usr/lib/libkrb5.so.3.2
> > > krb5-libs-1.3.4-6
> > > 
> > > > rpm reports a different symbol error within another library:
> > > > 
> > > > [root at zero ~]# rpm -q yum
> > > > rpm: symbol lookup error: /usr/lib/libneon.so.24: undefined symbol: GSS_C_NT_HOSTBASED_SERVICE
> > > > [root at zero ~]#
> > > 
> > > gwiz% nm /usr/lib/libgssapi_krb5.a | grep GSS_C_NT_HOSTBASED_SERVICE
> > > 00000010 G GSS_C_NT_HOSTBASED_SERVICE
> > > 00000018 G GSS_C_NT_HOSTBASED_SERVICE_X
> > > 
> > > I wasn't familiar with the 'G' symbol, but a "man nm" indicates it's
> > > "an initialized data section for small objects".
> > > 
> > > gwiz% rpm -qf /usr/lib/libgssapi_krb5.so.2.2
> > > krb5-libs-1.3.4-6
> > > 
> > > So this is also provided bu the krb5-libs package.  So it seems you
> > > are missing this package for some reason.
> > > 
> > > > Both /lib/libneon.so.24 and /usr/lib/libssl.so.5 appear to have been
> > > > installed with YDL 4.1:
> > > > 
> > > > [root at zero /home/mevans]# ls -lst /lib/libssl.so.5 /usr/lib/libneon.so.24
> > > > 0 lrwxrwxrwx  1 root root 16 Aug 25 12:38 /lib/libssl.so.5 -> libssl.so.0.9.7f
> > > > 0 lrwxrwxrwx  1 root root 17 Aug 25 12:38 /usr/lib/libneon.so.24 -> libneon.so.24.0.7
> > > 
> > > Yes, you have libneon and libssl, but iti would seem you don't have
> > > the Kerberos libraries that they reference and require.
> > > 
> > > > Any help appreciated.  Or should I take this to the yum list at Duke?  Or 
> > > > elsewhere?
> > > 
> > > You need to install the krb5-libs package.  But you have a slight
> > > problem since you can't run rpm which is used to install packages.
> > > 
> > > I hope you have rpm2cpio and cpio installed on your system.  If you
> > > do, you can install the krb5-libs package using them.  First, get the
> > > krb5-libs-1.3.4-6.ppc.rpm (from the CDs or the YDL ftp site).  Then,
> > > as root:
> > > 
> > > 	cd /
> > > 	rpm2cpio krb5-libs-1.3.4-6.ppc.rpm | cpio -div
> > > 
> > > Then, hopefully, you should be able to run rpm again (you may also
> > > have to run ldconfig as root first).  At this point, install krb5-libs
> > > normally via rpm, so that the rpm database gets updated properly:
> > > 
> > > 	rpm -U krb5-libs-1.3.4-6.ppc.rpm
> > > 
> > > You may have to add a "--force" option to the above command.
> > > 
> > > If you don't have rpm2cpio or cpio, you might be able to get those
> > > binaries off another system, or as a last ditch measure I could email
> > > them to you.
> > > 
> > > After all this, hopefully you will once again have a working rpm
> > > and yum environment, and can do further updates just using yum.
> > > 
> > > > Thanks in advance,
> > > > Mike Evans
> > > 
> > > 						-Hope this helps
> > > 
> > > 						-Bill
> 

-- 
Michael Evans			   ph: 520-626-2897
Laboratory of Tree-Ring Research   fax: 520-621-8229
University of Arizona		   email: mevans at ltrr.arizona.edu
105 W. Stadium, Tucson, AZ 85721   http://ic.ltrr.arizona.edu/



More information about the yellowdog-general mailing list