Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#30277 - [apache, glibc] Updating "apache" and "glibc" crashes Apache server

Attached to Project: Arch Linux
Opened by Sturmgewehr (Sturmgewehr) - Wednesday, 13 June 2012, 06:27 GMT
Last edited by Dave Reisner (falconindy) - Wednesday, 13 June 2012, 12:11 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Upgrading the whole system together with glibc to version 2.15-11 and apache to version 2.2.22-4 crashed Apache server.
# /etc/rc.d/httpd start gives the following error:
# /usr/sbin/httpd: error while loading shared libraries: /usr/lib/libc.so.6: invalid ELF header

Additional info:
* package version(s)
linux-3.3.8-1
glibc-2.15-11
apache-2.2.22-4

* config and/or log files etc.
# objdump -f /lib/libc.so.6
gives the following dump:
/lib/libc.so.6: file format elf64-x86-64
architecture: i386:x86-64, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x0000000000021560


Steps to reproduce:
Update linux, glibc and apache to the versions specified above.
This task depends upon

Closed by  Dave Reisner (falconindy)
Wednesday, 13 June 2012, 12:11 GMT
Reason for closing:  Not a bug
Comment by Dave Reisner (falconindy) - Wednesday, 13 June 2012, 10:04 GMT
What is /usr/lib/libc.so.6? What package owns it? Why is it in /usr?
Comment by Sturmgewehr (Sturmgewehr) - Wednesday, 13 June 2012, 11:10 GMT
Solved.
There is a mess created by upgrading packages.
Shared object /usr/lib/libc.so.6 is actually a link to /usr/lib/libc.so
objdump -f /usr/lib/libc.so gives
objdump: /usr/lib/libc.so: File format not recognized
Relinking /usr/lib/libc.so.6 to /lib/libc-2.15.so solves the problem.
https://bbs.archlinux.org/viewtopic.php?pid=1115454
Comment by Sturmgewehr (Sturmgewehr) - Wednesday, 13 June 2012, 11:13 GMT
One question still annoys me. Apache is compiled to use /usr/lib/libc.so.6. However, /usr/lib/libc.so.6 is not owned by any package and links to other libraries. Who created it? Definitely not me. May be Apache?
Comment by Dave Reisner (falconindy) - Wednesday, 13 June 2012, 12:11 GMT
Apache is compiled with an rpath of /usr/lib, for reasons I'm not familiar with. It's not an issue of apache was compiled explicitly to use /usr/lib/libc.so.6, you just have some bogus file that exists there, which is higher in the lookup path. /usr/lib/libc.so.6 shouldn't even exist.

Loading...