List:Packagers« Previous MessageNext Message »
From:Lenz Grimmer Date:April 1 2004 8:23pm
Subject:Re: compiling with icc
View as plain text  
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Yonah,

sorry for the late reply. I have now been finally able to install icc 8.0 
on one our build hosts (Running SuSE Linux 8.2) and made some tests.

On Wed, 24 Mar 2004, Yonah Russ wrote:

> I'm trying to compile mysql 4.0.18 with icc 8.0 on RH AS 3u1. I'm
> including my last configuration for compiling and how it died- I've
> tried about a million other ways- this seems to come the closest to
> compiling normally but dies with an internal error(looks like intel's
> fault not yours).
>   Does anyone have a configuration where this compiles? What did I do wrong?
> 
> fyi- there is a problem with the configure/libtool script when you don't
> compile -static and you use ipo... the compilation runs icc -shared to
> link the libraries but it needs the -ipo option as well.
> 
> thanks in advance for any help!
> yonah
> 
> here the environment variables:
> AR=xiar
> CC=icc
> CFLAGS='-O3 -ipo -static -axWN -march=pentium4 -mcpu=pentium4'
> CXX=icc
> CXXFLAGS='-O3 -ipo -static -axWN -march=pentium4 -mcpu=pentium4'
> LANG=C
> LD=xild
>
> PATH=/usr/local/intel/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/usr/local/mysql/bin
> 
> this is the configure line:
> 
> ./configure --prefix=/usr/local/mysql --enable-thread-safe-client 
> --without-innodb --without-debug --enable-assembler 
> --with-named-curses-libs=/usr/lib/libncurses.so.5.3
> 
> it dies with this error:
> 
> IPO Warning: unresolved : rl_attempted_completion_function
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : rl_completion_entry_function
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : rl_readline_name
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : popen
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : pclose
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : readline
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : add_history
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : completion_matches
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : write_history
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : read_history
>         Referenced in ipo_icc5X7oE4.o
> IPO Warning: unresolved : __xstat64
>         Referenced in libmysqlclient.a(my_lib_ipo.o)
> IPO Warning: unresolved : __fxstat64
>         Referenced in libmysqlclient.a(my_lib_ipo.o)
> IPO Warning: unresolved : readdir64
>         Referenced in libmysqlclient.a(my_lib_ipo.o)
> IPO Warning: unresolved : fdopen
>         Referenced in libmysqlclient.a(my_fopen_ipo.o)
> IPO Warning: unresolved : fclose
>         Referenced in libmysqlclient.a(my_fopen_ipo.o)
> IPO Warning: unresolved : gethostbyname_r
>         Referenced in libmysqlclient.a(my_gethostbyname_ipo.o)
> IPO Warning: unresolved : __lxstat64
>         Referenced in libmysqlclient.a(my_symlink_ipo.o)
> IPO Warning: unresolved : realpath
>         Referenced in libmysqlclient.a(my_symlink_ipo.o)
> libmysql.c(1808): internal error: 0_1345
> 
> icc: error: problem during multi-file optimization compilation (code 4)
> make[2]: *** [mysql] Error 4
> make[2]: Leaving directory `/moat-files/mysql-4.0.18/client'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/moat-files/mysql-4.0.18'
> make: *** [all] Error 2


That really sounds like an icc bug. Here's the line we currently use for 
our binaries on icc:

CFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" CC=icc CXX=icc
CXXFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" ./configure
- --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data
- --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex
- --enable-thread-safe-client --enable-local-infile --enable-assembler
- --disable-shared --with-client-ldflags=-all-static
- --with-mysqld-ldflags=-all-static --with-readline --with-embedded-server
- --with-innodb

You may be able to use higher optimization levels (e.g. by removing "-mp", 
which will however cause some loss in floatingpoint accuracy - some of the 
test suite tests will fail). I assume the "--no-gcc" is key here.

Bye,
	LenZ
- -- 
 Lenz Grimmer <lenz@stripped>
 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/

iD8DBQFAbHonSVDhKrJykfIRAt2IAJ934j6kexJYjUA766ua37pQZJRFvgCdEOau
Y1/+hZeSh8nTDKzlyA2sGGo=
=SuL5
-----END PGP SIGNATURE-----
Thread
compiling with iccYonah Russ24 Mar
  • Re: compiling with iccLenz Grimmer1 Apr