3 messages in com.mysql.lists.packagersRe: Compiling with Intel C++ compiler
FromSent OnAttachments
infernix26 Jan 2004 07:35 
Lenz Grimmer28 Jan 2004 03:55 
infernix28 Jan 2004 12:37 
Subject:Re: Compiling with Intel C++ compiler
From:Lenz Grimmer (le@mysql.com)
Date:01/28/2004 03:55:31 AM
List:com.mysql.lists.packagers

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Hi,

On Mon, 26 Jan 2004, infernix wrote:

I am not sure if this is the right list, but alas - I have to try.

No, this list is just fine for this!

I am trying to compile mysql for optimal performance, and am trying to use Intels Linux C++ compiler (v8.0) on a Debian Woody 3.0 system. I can compile fine (for instance, apt-get --build source pine works with the intel compiler), but doing the same with MySQL 4.0.16 gives the following error:

checking if /opt/intel_cc_80/bin/icc supports bool types... yes checking if conversion of longlong to float works... no configure: error: Your compiler cannot convert a longlong value to a float! If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try again make: *** [configure-stamp] Error 1

Hmm. Does config.log give you any hint? We've just recently updated the autoconf/automake toolchain on our build host, so this may work better with the next release. As we have just installed icc on one of our build hosts, too, I will see if I can reproduce this problem. What you could try is the following:

- extract the sources and enter the directory - rm configure config.guess config.sub depcomp install-sh mkinstalldirs \ missing ltmain.sh - aclocal ; autoheader ; libtoolize --automake --force ; automake \ --add-missing ; autoconf

Now try this resulting configure script instead.

At first, I also had problems because -fno-implicit-templates doesnt work on icc; I changed the debian rules file for the mysql package to accomondate for that. But generally, I'm starting to wonder if this compiles at all. There are recommendations for pgcc on several MySQL optimization pages, but you'd suspect that intels compiler should be even faster, since pgcc seems unmaintained (to me at least).

Yes, icc seems to generate much faster code.

After feddling with the Debian packages, I've given the source package (4.0.17) a go. The same results seem to apply:

checking if conversion of longlong to float works... no configure: error: Your compiler cannot convert a longlong value to a float! If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try again

Any hints are very welcome - and "that will never work" is an answer too :)

No, it should work. We have been compiling with icc 7.1, so it should work with 8.0 as well. Please take a look at config.log to see why exactly it fails. Maybe we need to make some adjustements to our configure scripts to make it work.

Bye, LenZ - -- Lenz Grimmer <le@mysql.com> Senior Production Engineer MySQL GmbH, http://www.mysql.de/ Hamburg, Germany

Want to swim with the dolphins? (April 14-16, 2004) http://www.mysql.com/uc2004/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) Comment: For info see http://quantumlab.net/pine_privacy_guard/

iD8DBQFAF6NKSVDhKrJykfIRAvfRAJwJfAjv9rkCD/Q/Hn1XYmivXciJKgCfXeuJ ZhBzARGK8Kbqr37WkZpOH/4= =d2gz -----END PGP SIGNATURE-----