You are not logged in.
Hi, yesterday I encountered the following problem.
After updating the whole system with
# pacman -Syu I tried to start the Apache http server with
# /etc/rc.d/httpd start It gave me this error:
/usr/sbin/httpd: error while loading shared libraries: /usr/lib/libc.so.6: invalid ELF header I tried these things:
1) Downgrading kernel to linux-3.3.7-1 with no success (problem with modules);
2) Downgrading glibc to versions from 2-14-1-2 to 2-2-15-10 (didn't work);
3) Downgrading apache to versions from 2-2-21-1 to 2-2-22-3 (this didn't work either).
It seem to be the problem with kernel. Any suggestions?
Offline
Apache 2.2 has been flagged out-of-date since 20th February 2012.
You should download it (version 2.4) from a project's site mirror:
http://httpd.apache.org/download.cgi#apache24
Then you can install it manually. Help and documentation can be found at
Offline
Offline
That is, your libc, and not Arch's libc.
It's strange: he did -Syu at first.
Offline
falconindy wrote:That is, your libc, and not Arch's libc.
It's strange: he did -Syu at first.
That doesn't really matter in this case. Somehow there are (at least) 2 instances of libc.so.6 on his system (the official arch one + another one). Httpd is trying to use the "unofficial" one and hence failing.
@Sturmgewehr
How did /usr/lib/libc.so.6 end up on your system? Which package does it belong to?
Burninate!
Offline
Thanks for the help. I'll try to install a new version of Apache (httpd-2.4.2) without messing up the whole system.
By the way, I've checked the file ownership before:
# ls -lah /usr/libc.so.6
rwxrwxrwx 1 root root 16 Jun 6 13:48 /usr/lib/libc.so.6 -> /usr/lib/libc.so
# pacman -Qo /usr/lib/libc.so
/usr/lib/libc.so is owned by glibc 2.15-11so the file is owned by glibc-2.15-11.
Offline
Solved. It seems that Apache was compiled to use /usr/lib/libc.so.6, which links to /usr/lib/libc.so. The last one seems to be broken (miscompiled)!
# objdump -f /usr/lib/libc.so
objdump: /usr/lib/libc.so: File format not recognizedRelinking to a working library solves the problem:
# rm /usr/lib/libc.so.6
# ln -s -T /lib/libc-2.15.so /usr/lib/libc.so.6Also shared object is recognized:
# objdump -f /lib/libc-2.15.so
/lib/libc-2.15.so: file format elf64-x86-64
architecture: i386:x86-64, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x0000000000021560So there is a problem with symbolic links in glibc. Apache 2.2.22-4 is working! Thanks, folks!
Last edited by Sturmgewehr (2012-06-13 11:01:56)
Offline