Bug #45706 rpm install fails due to incorrect libc linking
Submitted: 24 Jun 2009 14:26 Modified: 16 Oct 2009 17:34
Reporter: Matthew Lord Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S1 (Critical)
Version:5.1.35 OS:Linux (RHEL 3, 4, 5 IA64)
Assigned to: Kent Boortz CPU Architecture:Any
Tags: IA64, libc, RHEL3, RHEL4, RHEL5, rpm
Triage: Triaged: D2 (Serious)

[24 Jun 2009 14:26] Matthew Lord
Description:
rpm -ivh MySQL-client-enterprise-5.1.31-0.rhel4.ia64.rpm MySQL-server-enterprise-5.1.31-0.rhel4.ia64.rpm
warning: MySQL-client-enterprise-5.1.31-0.rhel4.ia64.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
error: Failed dependencies:
libc.so.6.1(GLIBC_PRIVATE)(64bit) is needed by MySQL-server-enterprise-5.1.31-0.rhel4.ia64

rpm -qa | grep libc
glibc-utils-2.3.4-2.25
libc-client-devel-2002e-14
glibc-devel-2.3.4-2.25
libcap-1.10-20
compat-glibc-2.3.2-95.30
compat-glibc-headers-2.3.2-95.30
libcap-devel-1.10-20
compat-libcom_err-1.0-5
glibc-common-2.3.4-2.25
libc-client-2002e-14
glibc-headers-2.3.4-2.25
glibc-kernheaders-2.4-9.1.98.EL
glibc-profile-2.3.4-2.25
libcroco-0.6.0-4
libcroco-devel-0.6.0-4
compat-glibc-2.3.2-95.30
compat-glibc-headers-2.3.2-95.30
glibc-2.3.4-2.25
glibc-2.3.4-2.25

uname -a
Linux xxxxx 2.6.9-42.EL #1 SMP Wed Jul 12 23:25:09 EDT 2006 ia64 ia64 ia64 GNU/Linux

cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

ls -al /lib/libc*
-rwxr-xr-x 1 root root 2751390 Jul 4 2006 /lib/libc-2.3.4.so
lrwxrwxrwx 1 root root 11 Feb 7 2007 /lib/libcap.so -> libcap.so.1
lrwxrwxrwx 1 root root 14 Feb 7 2007 /lib/libcap.so.1 -> libcap.so.1.10
-rwxr-xr-x 1 root root 31568 Aug 31 2004 /lib/libcap.so.1.10
-rwxr-xr-x 1 root root 214484 Jul 4 2006 /lib/libcidn-2.3.4.so
lrwxrwxrwx 1 root root 16 Feb 7 2007 /lib/libcidn.so.1 -> libcidn-2.3.4.so
lrwxrwxrwx 1 root root 17 Feb 7 2007 /lib/libcom_err.so.2 -> libcom_err.so.2.1
-rwxr-xr-x 1 root root 12928 Apr 24 2006 /lib/libcom_err.so.2.1
-rwxr-xr-x 1 root root 39671 Jul 4 2006 /lib/libcrypt-2.3.4.so
-rwxr-xr-x 1 root root 1842808 Oct 31 2005 /lib/libcrypto.so.0.9.6b
-rwxr-xr-x 1 root root 2085424 Apr 21 2006 /lib/libcrypto.so.0.9.7a
lrwxrwxrwx 1 root root 19 Feb 7 2007 /lib/libcrypto.so.2 -> libcrypto.so.0.9.6b
lrwxrwxrwx 1 root root 19 Feb 7 2007 /lib/libcrypto.so.4 -> libcrypto.so.0.9.7a
lrwxrwxrwx 1 root root 17 Feb 7 2007 /lib/libcrypt.so.1 -> libcrypt-2.3.4.so
lrwxrwxrwx 1 root root 16 Feb 7 2007 /lib/libc.so.6 -> /lib/libc.so.6.1
lrwxrwxrwx 1 root root 13 Feb 7 2007 /lib/libc.so.6.1 -> libc-2.3.4.so

How to repeat:
Try and install our IA64 RHEL4 RPMs on another IA64 RHEL4 machine.

Suggested fix:
http://www.redhat.com/archives/epel-devel-list/2008-March/msg00096.html
https://bugzilla.redhat.com/show_bug.cgi?id=467998
http://lists.centos.org/pipermail/centos/2008-August/062824.html
http://lists.centos.org/pipermail/centos-devel/2008-August/003105.html
[24 Jun 2009 15:13] Kent Boortz
It is the server package that has this dependency. I do think this is a OS bug.
The symbol '__libm_error_support' seems to be defined in several places, and
somehow this has made the "mysqld" and "mysqld-debug" binaries depend
on the private/local definition

% eu-readelf -s /usr/lib/libm.so | fgrep libm_error_support
 1219: 0000000000050090  78656 FUNC    LOCAL  DEFAULT       12 __libm_error_support

% nm /usr/lib/libm.so | fgrep libm_error_support
0000000000050090 t __libm_error_support

% eu-readelf -s /lib/libc.so.6.1 | fgrep libm_error_support
  467: 0000000000056b30     64 FUNC    GLOBAL DEFAULT       11 __libm_error_support@@GLIBC_PRIVATE
 1379: 0000000000056b30     64 FUNC    LOCAL  HIDDEN        11 __GI___libm_error_support
 3197: 0000000000056b30     64 FUNC    GLOBAL DEFAULT       11 __libm_error_support

% nm /lib/libc.so.6.1 | fgrep libm_error_support
0000000000056b30 t __GI___libm_error_support
0000000000056b30 T __libm_error_support

% eu-readelf -s sbin/mysqld | fgrep libm_error_support
 5790: 0000000000000000     64 FUNC    GLOBAL DEFAULT    UNDEF __libm_error_support@GLIBC_PRIVATE (8)
[6 Jul 2009 17:05] Leandro Morgado
Hi,

I'm getting the same behaviour on RHEL5:

error: Failed dependencies:
libc.so.6.1(GLIBC_PRIVATE)(64bit) is needed by MySQL-server-advanced-gpl-5.1.31sp1-0.rhel5.ia64

Packages and files are there:

[root@XXX ~]# rpm -qa | grep libc
glibc-2.5-34
libcroco-0.6.1-2.1
glibc-common-2.5-34
glibc-2.5-34
libcap-1.10-26

[root@XXX ~]# ls -al /lib/libc*
-rwxr-xr-x 1 root root 2881304 Jan 6 01:33 /lib/libc-2.5.so
lrwxrwxrwx 1 root root 14 Jun 26 11:04 /lib/libcap.so.1 -> libcap.so.1.10
-rwxr-xr-x 1 root root 31176 Nov 14 2006 /lib/libcap.so.1.10
-rwxr-xr-x 1 root root 216016 Jan 6 01:33 /lib/libcidn-2.5.so
lrwxrwxrwx 1 root root 14 Jun 26 11:04 /lib/libcidn.so.1 -> libcidn-2.5.so
lrwxrwxrwx 1 root root 17 Jun 26 11:05 /lib/libcom_err.so.2 -> libcom_err.so.2.1
-rwxr-xr-x 1 root root 12512 Sep 30 2008 /lib/libcom_err.so.2.1
-rwxr-xr-x 1 root root 72864 Jan 6 01:33 /lib/libcrypt-2.5.so
-rwxr-xr-x 1 root root 2301720 Dec 16 2008 /lib/libcrypto.so.0.9.8e
lrwxrwxrwx 1 root root 19 Jun 26 11:05 /lib/libcrypto.so.6 -> libcrypto.so.0.9.8e
lrwxrwxrwx 1 root root 15 Jun 26 11:04 /lib/libcrypt.so.1 -> libcrypt-2.5.so
lrwxrwxrwx 1 root root 11 Jun 26 11:04 /lib/libc.so.6.1 -> libc-2.5.so 

Please make sure the RHEL5 rpm is also fixed.
[31 Jul 2009 6:12] Daniel Hernández
Hi,

I have the same problem and I need a solution as soon as possible.

Thanks
[8 Oct 2009 13:44] Kent Boortz
For reference, a description what this "private" in glibc is all about

  http://help.lockergnome.com/linux/GLIBC_PRIVATE--ftopict469390.html
[15 Oct 2009 16:27] Kent Boortz
After finding the cause and discussing the problem in the <libtool@gnu.org>
mailing list, I settled to fix this by modifying the "/usr/lib/libunwind.la" files on
the build hosts. You can read more about it in

  http://lists.gnu.org/archive/html/libtool/2009-10/msg00011.html

Suggested comment for documenting this issue:

During the build of the Red Hat IA64 MySQL server RPM, the system library
link order was incorrect. This made the resulting Red Hat IA64 RPM depend
on "libc.so.6.1(GLIBC_PRIVATE)(64bit)", thus preventing the install of the
package.
 
This problem will be corrected in MySQL server 5.0.88 and 5.1.41.
[16 Oct 2009 17:34] Paul Dubois
Noted in 5.0.88, 5.1.41, 5.5.0, 6.0.14 changelogs.
[16 Sep 2010 19:42] Brian Hutchins
I believe there was a bug in my computer.  I had just finished doing my families passports renewals and my system almost suddenly crashed.  I am not sure how this happened. I live in the San Diego area, and wanted to know if anyone else experienced anything like that?