fedora core 3 - httpd - undefined symbol: krb5_cc_get_principal - up2date

Posted on 2005-04-19
Last Modified: 2013-12-16
After running up2date on fedora core3, gave the error icon-language.png is not recognized. Followed the advice at Then at boot up and when I start httpd service, comes the error message :
httpd failed. The error was: Starting httpd: Syntax error on line 6 of /etc/httpd/conf.d/auth_kerb.conf:
Cannot load /etc/httpd/modules/ into server: /etc/httpd/modules/ undefined symbol: krb5_cc_get_principal
Also cannot up2date anymore. Comes with the error : [root@wk05-dbs-227ax lib]# up2date
Traceback (most recent call last):
  File "/usr/sbin/up2date", line 57, in ?
    from OpenSSL import SSL
ImportError: /lib/ undefined symbol: krb5_cc_get_principal

Anyone knows what could be the problem and how to fix it.
Question by:konchadyganesh
    LVL 38

    Expert Comment

    up2date have problem in Fedora Core 3.
    Try "yum" to upgrade your Fedora Core 3.

    As root,
    rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora
    yum upgrade
    -----other yum options ---
    yum list  --  List all available packages.
    yum check-update (or yum list updates ) --- See if there are updated packages available.
    yum update -- Update all installed packages that have a newer version available.
    yum install <package(s)> -- Install specific packages and their dependencies.
    yum search <word> -- Search all known packages entries (descriptions etc) for word.
    yum info <package> -- Show basic information about a package.

    Author Comment

    I tried rpm --import and yum upgrade as suggested above, but the problem remains same. When I start httpd using System Settings -> Server Settings -> Services following error comes up :
    httpd failed. The error was: Starting httpd: Syntax error on line 6 of /etc/httpd/conf.d/auth_kerb.conf:
    Cannot load /etc/httpd/modules/ into server: /etc/httpd/modules/ undefined symbol: krb5_cc_get_principal
    LVL 7

    Expert Comment

    Sounds like either the kerberos or openssl libraries got upgraded to the wrong version(s) when you ran up2date.  The fastest solution for this is going to be to remove one or more conflicting packages, and reinstall them.  You may be able to use yum to assist with this.

    First, identify the packages that are currently installed:

    rpm -qa | grep -e ssl -e krb5

    This should produce a list of package names and versions, e.g. krb5-libs-N.N.N-N (N being a number).  For each package name (e.g. krb5-libs, krb5-devel), there should only be one line.  If there are two versions installed, that is likely to create problems.

    If there are two versions, I would recommend removing the older (e.g. "rpm -e krb5-libs-N.N.N-N"), then upgrade to the newer version.  You may also wish to remove both, if the newest version is already installed.  You may be able to use 'yum' for the upgrade/reinstall portion of the process, but if possible, I would download the desired rpm packages first in case yum or other tools cease to work during the process.

    If using RPM, you can delete the older package (if applicable), and reinstall the newer (same version) package by forcing it; rpm -Uv --force package-version.rpm.  The -U is for Upgrade mode, the -v is verbose, and the --force tells RPM to ignore errorneous conditions, e.g. the same version of the package is already installed, and rpm doesn't think it should be upgraded.

    If you're unsure how to proceed, provide the output of the "rpm -qa | grep -e ssl -e krb5" command, along with "cat /etc/*-release"

    Author Comment

    [root@wk05-dbs-227ax ~]# rpm -qa | grep -e ssl -e krb5

    [root@wk05-dbs-227ax ~]# cat /etc/*-release
    Fedora Core release 3 (Heidelberg)
    Fedora Core release 3 (Heidelberg)

    [root@wk05-dbs-227ax ~]# rpm -Uv --force krb5-libs-1.2.7-38
    error: open of krb5-libs-1.2.7-38 failed: No such file or directory
    [root@wk05-dbs-227ax ~]# rpm -Uv --force krb5-libs-1.2.7
    error: open of krb5-libs-1.2.7 failed: No such file or directory

    Can you figure out what is wrong. Further the system is very slow, after the yum upgrade.

    Thanks for the help.

    LVL 7

    Expert Comment

    You have two versions of the Kerberos libraries installed.  You may have other duplicate files as well, from your description.

    There's two options:  1) try to fix it.  2) reinstall.  I don't know how much time you have invested in this .. if you just installed FC3 a couple days ago, it may be simpler to start over, so that you have a known clean environment.  If you don't fancy the time required for that, then you may want to try fixing it.

    It might work to uninstall the newer version of krb5-libs (rpm -e --nodeps krb5-libs-1.3.6-5), and then use yum to upgrade the older installed version to the newer version (yum update krb5-libs), but this requires your yum repository to have the correct packages available.  I would feel more comfortable with additional info, but it's up to you whether you want to try this method first or not.

    We can determine which version of krb5-libs is dominant with the following commands:
    rpm -V krb5-libs-1.2.7-38
    rpm -V krb5-libs-1.3.6-5

    Run them individually.  One should give a whole lot of output, and the other little or none.  Whichever version gives the large output, is the corrupted version.. the one that gives minimal output is the installed version.  I am guessing that 1.2.7 is the installed version, which would probably mean the yum update method would work.  If you decide to do the yum update method:

    rpm -e --nodeps krb5-libs-1.3.6-5
    yum update krb5-libs
    LVL 38

    Expert Comment

    Remove krb5-libs-1.2.7-38 first since the rest of krb5 are version 1.3.6-5.
    Multiple version of krb5-libs might cause the confusion.
    rpm -e krb5-libs-1.2.7-38
    LVL 7

    Expert Comment

    Removing the older version first could cause files to be removed that are needed for the newer version.  The only way to resolve that would be to reinstall the package.  It will be easier to upgrade the package using yum, from the older version, than to reinstall the already-installed newer version.  Trying to force uninstall both krb5 packages would be unpleasant.
    LVL 38

    Assisted Solution

    Macker, I got your point.
    But "rpm -e --nodeps krb5-libs-1.3.6-5" will break more things than remove old version.
    Also, what's if "yum update krb5-libs" fail after remove krb5-libs-1.3.6-5?

    I don't (highly not recommended) use --nodeps to remove any package.
    rpm -e krb5-libs-1.2.7-38
    will tell you if there is any files needed by other pacakges. It will not remove it unless the dependency issue is resolved.
    LVL 7

    Accepted Solution

    My preference is to download the RPM in advance so it's there, regardless of situation.  However, yum is statically built, so it's unlikely that it will fail after removing a library package.  In either case, the reasoning is to yield a situation in which the user is most likely going to be able to use tools already on his computer to resolve the situation.

    Both approaches are valid, just with different potential risks.

    Featured Post

    Highfive + Dolby Voice = No More Audio Complaints!

    Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

    Join & Write a Comment

    Currently, there is not an RPM package available under the RHEL/Fedora/CentOS distributions that gives you a quick and easy way to allow PHP to interface with Oracle. As a result, I have included a set of instructions on how to do this with minimal …
    Daily system administration tasks often require administrators to connect remote systems. But allowing these remote systems to accept passwords makes these systems vulnerable to the risk of brute-force password guessing attacks. Furthermore there ar…
    Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
    Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

    732 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    19 Experts available now in Live!

    Get 1:1 Help Now