Bug #22238 32bitversion of MySQL Server in 'Linux (AMD64 / Intel EM64T) Intel C/C++' binary
Submitted: 11 Sep 2006 14:17 Modified: 12 Sep 2006 19:51
Reporter: Tomasz Szymczak Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version:5.0.24a OS:Linux (Linux)
Assigned to: Joerg Bruehe
Tags: binaries

[11 Sep 2006 14:17] Tomasz Szymczak
Description:
Hi,

I'm trying do get x86_64 version of MySQL Server compiled with ICC, but after unpacking it looks like there is wrong version packaged:

I'm fetching binary from http://dev.mysql.com/downloads/mysql/5.0.html page, from sections:

Linux (non RPM, Intel C/C++ compiled, glibc-2.3) downloads
Linux (AMD64 / Intel EM64T)

How to repeat:
# wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-standard-5.0.24a-linux-x86_64-icc-glibc...

# tar xzf mysql-standard-5.0.24a-linux-x86_64-icc-glibc23.tar.gz
# file mysql-standard-5.0.24a-linux-x86_64-icc-glibc23/bin/{mysql,mysqld}

mysql-standard-5.0.24a-linux-x86_64-icc-glibc23/bin/mysql:  ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
mysql-standard-5.0.24a-linux-x86_64-icc-glibc23/bin/mysqld: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped

# ldd mysql-standard-5.0.24a-linux-x86_64-icc-glibc23/bin/mysql | grep lib32
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf7f4c000)
        libcrypt.so.1 => /lib32/libcrypt.so.1 (0xf7f1e000)
        libnsl.so.1 => /lib32/libnsl.so.1 (0xf7f09000)
        libm.so.6 => /lib32/libm.so.6 (0xf7ee3000)
        libc.so.6 => /lib32/libc.so.6 (0xf7dc8000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf7dc4000)
[11 Sep 2006 14:43] Valerii Kravchuk
Thank you for a bug report. Verified just as described.
[12 Sep 2006 10:05] Joerg Bruehe
It seems we accessed the wrong variant of the Intel compiler, the one producing 32 bit binaries only.

I changed our environment settings on the machine and tried with a tiny test program, "file" reported it as "ELF 64-bit LSB executable, AMD x86-64, ..."

I now do a test build of a complete package to verify these settings pass through the whole build tool chain, but I am quite optimistic.
[12 Sep 2006 12:43] Joerg Bruehe
Test build succeeded, files are now described as
  ELF 64-bit LSB executable, AMD x86-64, ...

This will take effect with the next build on/for this platform 
(5.0.25, 4.1.22, 5.1.12-beta).

I have not checked whether all or just some old versions are affected.

The fix is in a local configuration file only, no push to sources or tools tree.

I doubt this needs to be documented, but set the status to "play it safe".
[12 Sep 2006 19:49] Paul Dubois
Noted in 4.1.22, 5.0.25, 5.1.12 changelogs.

Some x86_64 packages mistakenly contained 32-bit servers.
[13 Sep 2006 13:14] Paul Dubois
Revision to changelog entry:

Some Linux-x86_64-icc packages (of previous releases) mistakenly
contained 32-bit binaries. Only ICC builds are affected, not gcc
builds. Solaris and FreeBSD x86_64 builds are not affected.
[23 Sep 2006 12:29] Valerii Kravchuk
Bug #22621 was marked as a duplicate of this one.