SUSE & openSUSE

Tips,Tricks, Tutorials,How Tos and Troubleshooting suse linux

Starting httpd2 (prefork) /usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: undefined symbol: apr_atomic_xchgptr

Posted by admin on July 8th, 2008

<!–adsense–>

After upgrading from Apache2.2.8 to Aache2-2.2.9-22.1, you may have the following error while starting Apache2 webserver. This can happen on openSUSE or SUSE Linux
Starting httpd2 (prefork) /usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: undefined symbol: apr_atomic_xchgptr

To resolve this problem, update the following packages:

libapr-util
libapr1
apache-utils

opensuse11:~ # yast2 –update libapr1 libapr-util apache-utils

This should resolve the problem.

10 Responses to “Starting httpd2 (prefork) /usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: undefined symbol: apr_atomic_xchgptr”

  1. Skilly Says:

    Thank you very much for this nice article ;)

  2. Frank Says:

    Someone’s formatter got a little carried away on the command line and turned the — into an em dash. Replace the — with two hyphens and it works.

  3. LAMP Help - openSUSE Forums Says:

    [...] Re: LAMP Help Strange. libapr-1.so.0 contains one or two apr_atomic_xchg* symbols but not apr_atomic_xchgptr. Could you have a foreign apache module installed from somewhere else, from an external package for Ruby perhaps? Do you have any non-OpenSUSE packages or software installed? Or perhaps a hangover from an older version of SUSE? Hah, ok, a search found the solution. You need to update some additional packages after the update to apache2, which I assume is because you got the latest version during the install. Starting httpd2 (prefork) /usr/sbin/httpd2-prefork: symbol lookup error: /usr/sbin/httpd2-prefork: u… [...]

  4. CTS Says:

    Worked on OpenSuSE 11 as root:

    yast2 –update apache2-utils apache2-prefork libapr-util1 libapr1

  5. Ray Says:

    Thanks for this tip, I had the same problem upgrading to Apache2_2.2.11. I had to install libapr-util & libapr1 separately, but everything worked. Thanks…

  6. Untit1ed Says:

    thanks a lot

  7. Chad say's Says:

    kudos for the fix!!

    happy camper:-)

  8. kruszak Says:

    hello colls,

    I have some trouble, when try to update libapr1.
    I has got a message:

    Problem: nothing provides libc.so.6(GLIBC_2.9) needed by libapr1-1.3.8-3.1.i586
    Solution 1: do not ask to install a solvable providing libapr1 > 1.2.12-27.2

    Help me pls :)

  9. ben Says:

    Thanks you!

    Although it didn’t work quite as described for me…. but based on info provided I changed to:

    zypper in libapr1 libapr-util1 apache2-utils

    and this fixed the problem on my SLES 10 sp2 server.

    Thanks,
    Ben.

  10. rael Says:

    Hi!

    I fix it removing manually the old libraries that I have on /usr/local/lib and apache2 remains using that ones:

    Code:
    root@posido:/home/rgarcia# cp -up /usr/local/lib/libapr* libapr/
    root@posido:/home/rgarcia# rm -i /usr/local/lib/libapr*
    rm: remove regular file `/usr/local/lib/libapr-1.a’? y
    rm: remove regular file `/usr/local/lib/libapr-1.la’? y
    rm: remove symbolic link `/usr/local/lib/libapr-1.so’? y
    rm: remove symbolic link `/usr/local/lib/libapr-1.so.0′? y
    rm: remove regular file `/usr/local/lib/libapr-1.so.0.2.12′? y
    rm: remove regular file `/usr/local/lib/libaprutil-1.a’? y
    rm: remove regular file `/usr/local/lib/libaprutil-1.la’? y
    rm: remove symbolic link `/usr/local/lib/libaprutil-1.so’? y
    rm: remove symbolic link `/usr/local/lib/libaprutil-1.so.0′? y
    rm: remove regular file `/usr/local/lib/libaprutil-1.so.0.2.12′? y

    then reinstall the last version of libaprutil1 libaprutil1-dev libapr1 libapr1-dev and check that apache2 are using the correct apr libraries with

    Code:

    root@posido:/home/rgarcia# ldd /usr/sbin/apache2
    linux-vdso.so.1 => (0x00007fffe4123000)
    libpcre.so.3 => /lib/libpcre.so.3 (0x00007f3a303b2000)
    libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0x00007f3a3018f000)
    libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00007f3a2ff59000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f3a2fd3c000)
    libc.so.6 => /lib/libc.so.6 (0x00007f3a2f9b9000)
    libuuid.so.1 => /lib/libuuid.so.1 (0x00007f3a2f7b3000)
    librt.so.1 => /lib/librt.so.1 (0x00007f3a2f5ab000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f3a2f372000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f3a2f16d000)
    libexpat.so.1 => /lib/libexpat.so.1 (0x00007f3a2ef44000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3a3087d000)

    and It works!

    Code:
    root@posido:/home/rgarcia# /etc/init.d/apache2 start
    * Starting web server apache2 [ OK ]

    I hope it helps.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>