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.

July 19th, 2008 at 5:41 am
Thank you very much for this nice article
July 31st, 2008 at 12:06 pm
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.
August 22nd, 2008 at 9:08 am
[...] 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… [...]
October 23rd, 2008 at 10:09 pm
Worked on OpenSuSE 11 as root:
yast2 –update apache2-utils apache2-prefork libapr-util1 libapr1
June 2nd, 2009 at 3:21 am
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…
July 7th, 2009 at 10:29 pm
thanks a lot
December 9th, 2009 at 11:33 am
kudos for the fix!!
happy camper:-)
December 19th, 2009 at 4:26 am
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
April 20th, 2010 at 6:45 pm
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-utilsand this fixed the problem on my SLES 10 sp2 server.
Thanks,
Ben.
December 17th, 2010 at 1:57 am
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.