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

Bill Fink billfink at mindspring.com
Sun Aug 27 00:25:50 MDT 2006


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



More information about the yellowdog-general mailing list