Re: [Fwd: Re: compiling with icc]
sorry- typo- the gcc binary was 4.0.18 yonah Yonah Russ wrote: Hi all- Here is more info on compiling mysql with icc 8 from the mysql packagers list- As for my attempts, I compiled successfully a couple times and the first benchmark I did was faster than the gcc compiled server by about 10%- unfortunately, I can't say if this is a conculsive test since the gcc binary was 3.23 and the icc binary 4.1.1 - I only managed one benchmark b/c something has broken the benchmark suite and I haven't had time to check into it... I'll try the following and get back to you- hopefully with good news. yonah Original Message Subject: Re: compiling with icc Date: Thu, 1 Apr 2004 22:23:02 +0200 (CEST) From: Lenz Grimmer <[EMAIL PROTECTED]> To: Yonah Russ <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED] References: <[EMAIL PROTECTED]> -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 - -- Le
[Fwd: Re: compiling with icc]
Hi all- Here is more info on compiling mysql with icc 8 from the mysql packagers list- As for my attempts, I compiled successfully a couple times and the first benchmark I did was faster than the gcc compiled server by about 10%- unfortunately, I can't say if this is a conculsive test since the gcc binary was 3.23 and the icc binary 4.1.1 - I only managed one benchmark b/c something has broken the benchmark suite and I haven't had time to check into it... I'll try the following and get back to you- hopefully with good news. yonah Original Message Subject:Re: compiling with icc Date: Thu, 1 Apr 2004 22:23:02 +0200 (CEST) From: Lenz Grimmer <[EMAIL PROTECTED]> To: Yonah Russ <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED] References: <[EMAIL PROTECTED]> -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 <[EMAIL PROTECTED]> Senior Production Engineer MySQL GmbH, http: