r965 - trunk

tushar at linuxfromscratch.org tushar at linuxfromscratch.org
Thu Jul 7 08:31:09 PDT 2005


Author: tushar
Date: 2005-07-07 09:31:08 -0600 (Thu, 07 Jul 2005)
New Revision: 965

Modified:
   trunk/intel-c-compiler.txt
Log:
Updated Hint: intel-c-compiler

Modified: trunk/intel-c-compiler.txt
===================================================================
--- trunk/intel-c-compiler.txt	2005-06-19 17:37:48 UTC (rev 964)
+++ trunk/intel-c-compiler.txt	2005-07-07 15:31:08 UTC (rev 965)
@@ -1,302 +1,425 @@
-AUTHOR: Daniel Baumann <daniel.baumann at panthera-systems.net>
+AUTHOR:	Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+	Daniel Baumann <daniel.baumann at panthera-systems.net>
 
-DATE: 2004-12-03
+DATE: 2005-07-04
 
 LICENSE: GNU General Public License
 
-SYNOPSIS: How to install the Intel C++ Compiler on LFS.
+SYNOPSIS: How to install the Intel C/C++ Compiler for LFS.
 
-PRIMARY URI: http://archive.daniel-baumann.ch/linux-from-scratch/hints/intel-c-compiler/
+PRIMARY URI:
+http://www.linuxfromscratch.org/hints/downloads/files/intel-c-compiler.txt
 
 DESCRIPTION:
-How to install the Intel C++ Compiler on your LFS-system.
+How to install the Intel C/C++ Compiler for your LFS-system.
 
 PREREQUISITES:
-A complete LFS-system with cpio and rpm2cpio (instructions included in the hint).
+An Intel CPU (this does not work with AMD or other non-Intel).
 
 HINT:
---------------------------------------------------------------------------------
+The Intel C/C++ compiler collection (ICC) is a full featured compiler and
+debugger suite, which is close to compatable with the GNU C/C++ compiler
+collection (GCC). ICC is made only for Intel chips, and takes advantage of
+Intel technology, such as Hyper-Threading, moreso than GCC does. Software
+compiled with ICC is expected to perform better than if it were compiled with
+GCC. Because GCC is much more tested than ICC, ICC may produce less stable
+programs than GCC would with some packages. Not all packages will build with
+ICC, such as Glibc, the Linux kernel, or X11; maybe they will in the future.
 
-Intel C++ Compiler 8.1.024
-==========================
+The homepage for the Intel compiler is here:
+http://www.intel.com/software/products/compilers/clin/
 
+You should also see:
+http://gentoo-wiki.com/HOWTO_ICC_and_Portage
 
-1. Introduction to Intel C++ Compiler
-=====================================
+This compiler is not free, and there is no source provided. It only links to
+/lib (without radical CFLAGS).
 
-The Intel C++ Compiler for Linux is a full fledged C/C++ compiler and debugger
-suite. Its aim is to provide outstanding performance for all Intel 32-bit and
-64-bit processors, while not requiring the need for porting applications from
-other compilers. It provides optimization technology, threaded application
-support, and features to take advantage of Hyper-Threading technology. It is
-substantially source and object code compatible with GNU C, providing fullest
-compatibility with gcc and g++ 3.x both in terms of code and of API. It is
-thereby also easy to integrate with existing development environments.
+This hint will give instructions to build the supported software with ICC, so
+that as much as possible is using it. ICC will only be installed in chapter 6
+since we will still need GCC for many packages. You can choose to install ICC
+without using it to build the LFS system, or build just some packages, it's upto
+you.
 
+Intel's compiler is only free of charge for non-commercial use. If that is what
+you want then go here:
 
-1.1. Package information
-========================
+http://www.intel.com/software/products/compilers/clin/noncom.htm
 
-  * Download (FTP): ftp://download.intel.com/software/products/compilers/downloads/l_cc_pu_8.1.024.tar.gz
+And follow the instructions so that you will be emailed a license file. The
+email will also give you a download location for the compressed tarball.
 
-  * MD5 Sum: a1b4ae4427c6151e419461f435806add
+After that you should have two files (the numbers may be different):
 
-  * Download size: 133 MB
+l_cc_pc_8.1.028.tar.gz
+and
+noncommercial_cpp_l_N4R8-B2RV9P4B.lic
 
-  * Estimated build time: none
+# INSTALLATION:
 
+# At the end of chaper 5 we will need to install Cpio, and rpm2cpio.
 
-1.2. Additional downloads
-=========================
+# Get: ftp://ftp.gnu.org/pub/gnu/cpio/cpio-2.6.tar.gz
 
-Required:
+# And install Cpio to /tools:
 
-  * License file
+sed -i -e "s/invalid_arg/argmatch_invalid/" src/mt.c &&
+./configure CPIO_MT_PROG=mt --prefix=/tools \
+	--bindir=/tools/bin --libexecdir=/tmp \
+	--with-rmt=/tools/bin/rmt &&
+echo "#define HAVE_SETLOCALE 1" >> config.h &&
+make &&
+make install
 
-    The Intel C++ Compiler needs a key to unlock. It is free for research or
-    educational and private non-commercial purposes. If you like to get
-    a commercial license, see
-    http://www.intel.com/software/products/compilers/clin/pricelist.htm.
+# If you want to install Cpio to an existing system then follow the instructions
+# in: http://www.linuxfromscratch.org/blfs/view/svn/general/cpio.html
 
-    Download: http://www.intel.com/software/products/compilers/clin/noncom.htm
+# Then get: http://www.rpm.org/tools/scripts/rpm2cpio.sh
 
+# And install rpm2cpio to /tools with:
 
-1.3. Intel C++ Compiler dependencies
-====================================
+install rpm2cpio.sh /tools/bin/rpm2cpio
 
-Required:
+# Or change it for /usr.
 
-  * cpio (see BLFS for instructions)
+# Build chapter 6's Glibc, Binutils, and GCC normally. Install ICC after GCC is
+# installed in chapter 6 (before Coreutils).
 
-  * rpm2cpio
+# Install the ICC compiler:
 
-    Download (HTTP): http://www.rpm.org/tools/scripts/rpm2cpio.sh
+rpm2cpio intel-icc8-8.1-028.i386.rpm | cpio -id &&
+rm -f opt/intel_cc_80/bin/uninstall.sh &&
+chown -R 0:0 opt/ &&
+cp opt/intel_cc_80/bin/* /opt/bin &&
+cp -r opt/intel_cc_80/doc /opt/doc/icc &&
+cp -r opt/intel_cc_80/include/* /opt/include &&
+cp opt/intel_cc_80/lib/* /opt/lib &&
+cp -r opt/intel_cc_80/licenses /opt/doc/icc &&
+cp opt/intel_cc_80/man/man1/* /opt/man/man1 &&
+rm -rf opt/
 
-    Install rpm2cpio by running the following commands:
+# Install the ICC headers:
 
-   __________________________________________________________________________
-  |                                                                          |
-  |  cp rpm2cpio.sh /usr/bin/rpm2cpio                                        |
-  |  chmod 0755 /usr/bin/rpm2cpio                                            |
-  |__________________________________________________________________________|
+rpm2cpio intel-isubh8-8.1-028.i386.rpm | cpio -id &&
+tar --no-same-owner --no-same-permissions -zxf \
+	opt/intel_cc_80/substitute_headers/libio.tar.gz -C /opt/include &&
+rm -rf opt/
 
+# Install the debugger:
 
-2. Installation of Intel C++ Compiler
-=====================================
+rpm2cpio intel-iidb8-8.1-045.i386.rpm | cpio -id &&
+rm -f opt/intel_idb_80/bin/uninstall.sh &&
+chown -R 0:0 opt/ &&
+mv opt/intel_idb_80/bin/* /opt/bin &&
+mv opt/intel_idb_80/doc /opt/doc/idb &&
+mv opt/intel_idb_80/man/man1/* /opt/man/man1 &&
+rm -rf opt/
 
+# Install the license file:
 
-2.1. Compiler installation
-==========================
+install -m644 *_cpp_l_*.lic /opt/doc/icc/licenses
 
-Install the compiler by running the following commands:
+# Rebuild the linker cache file:
 
-   __________________________________________________________________________
-  |                                                                          |
-  |  rpm2cpio intel-icc8-8.1-023.i386.rpm | cpio -id                         |
-  |  rm -f opt/intel_cc_80/bin/uninstall.sh                                  |
-  |  mv opt/intel_cc_80/bin/* /opt/bin                                       |
-  |  mv opt/intel_cc_80/doc /opt/doc/icc                                     |
-  |  mv opt/intel_cc_80/include/* /opt/include                               |
-  |  mv opt/intel_cc_80/lib/* /opt/lib                                       |
-  |  mv opt/intel_cc_80/licenses /opt/doc/icc                                |
-  |  mv opt/intel_cc_80/man/man1/* /opt/man/man1                             |
-  |  rm -rf opt                                                              |
-  |__________________________________________________________________________|
+ldconfig
 
+# Configure the compiler (you may need to correct your version number of the
+# first one):
 
-Install the substitute headers by running the following commands:
-   __________________________________________________________________________
-  |                                                                          |
-  |  rpm2cpio intel-isubh8-8.1-023.i386.rpm | cpio -id                       |
-  |  tar xfz opt/intel_cc_80/substitute_headers/libio.tar.gz -C /opt/include |
-  |  rm -rf opt                                                              |
-  |__________________________________________________________________________|
+sed -e 's/<installpackageid>/l_cc_p_8\.1\.028/' \
+	-i /opt/doc/icc/csupport
 
+sed -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \
+	-e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \
+	-e 's/<INSTALLDIR>\/lib/\/opt\/lib/g' -i /opt/bin/icc
 
-2.2. Debugger installation
-==========================
+sed -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \
+	-e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \
+	-e 's/<INSTALLDIR>\/lib/\/opt\/lib/g' \
+	-e 's/<INSTALLDIR>\/man/\/opt\/man/g' -i /opt/bin/iccvars.csh
 
-Install the debugger by running the following commands:
+sed -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \
+	-e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \
+	-e 's/<INSTALLDIR>\/lib/\/opt\/lib/g' \
+	-e 's/<INSTALLDIR>\/man/\/opt\/man/g' -i /opt/bin/iccvars.sh
 
-   __________________________________________________________________________
-  |                                                                          |
-  |  rpm2cpio intel-iidb8-8.1-036.i386.rpm | cpio -id                        |
-  |  rm -f opt/intel_idb_80/bin/uninstall.sh                                 |
-  |  mv opt/intel_idb_80/bin/* /opt/bin                                      |
-  |  mv opt/intel_idb_80/doc /opt/doc/idb                                    |
-  |  mv opt/intel_idb_80/man/man1/* /opt/man/man1                            |
-  |  rm -rf opt                                                              |
-  |__________________________________________________________________________|
+sed -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \
+	-e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \
+	-e 's/<INSTALLDIR>\/lib/\/opt\/lib/g' -i /opt/bin/icpc
 
+source /opt/bin/iccvars.sh
 
-2.3. Uninstall script
-=====================
+# If you get "bash: man: command not found" then don't worry about it right now.
 
-   __________________________________________________________________________
-  |                                                                          |
-  |  cat > /opt/bin/uninstall_intel-c-compiler.sh << "EOF"                   |
-  |  #!/bin/sh                                                               |
-  |                                                                          |
-  |  echo -n "Uninstalling Intel C++ Compiler: "                             |
-  |  rm -f /opt/bin/{Errormatch.txt,codecov,icc,icc.cfg,iccbin,iccfilt,\     |
-  |	iccvars.csh,iccvars.sh,icpc,icpc.cfg,icpcbin,icpi,mcpcom,prelink,\   |
-  |	profmerge,proforder,profrun,pronto_tool,tselect,xiar,xild}           |
-  |  rm -rf /opt/doc/icc                                                     |
-  |  rm -rf /opt/include/{c++,dvec.h,emm_func.h,emmintrin.h,float.h,fvec.h,\ |
-  |	ia32intrin.h,iso646.h,ivec.h,libio,limits.h,mathf.h,mathimf.h,\      |
-  |	mmintrin.h,omp.h,pgouser.h,pmmintrin.h,proto.h,sse2mmx.h,stdarg.h,\  |
-  |	stdbool.h,stddef.h,syslimits.h,varargs.h,xarg.h,xmm_func.h,\         |
-  |	xmm_utils.h,xmmintrin.h}                                             |
-  |  rm -f /opt/lib/{crtxi.o,crtxn.o,icrt.internal.map,icrt.link,\           |
-  |	libcprts.a,libcprts.so,libcprts.so.5,libcxa.a,libcxa.so,\            |
-  |	libcxa.so.5,libcxaguard.a,libcxaguard.so,libcxaguard.so.5,\          |
-  |	libguide.a,libguide.so,libguide_stats.a,libguide_stats.so,libimf.a,\ |
-  |	libimf.so,libirc.a,libirc_s.a,libompstub.a,libsvml.a,libsvml.so,\    |
-  |	libunwind.a,libunwind.so,libunwind.so.5}                             |
-  |  rm -f /opt/man/man1/{icc.1,icpc.1}                                      |
-  |  sed -i -e 's/source \/opt\/bin\/iccvars.sh//' /etc/profile              |
-  |  echo "done."                                                            |
-  |                                                                          |
-  |  echo -n "Uninstalling Intel Application Debugger: "                     |
-  |  rm -f /opt/bin/{idb,idb.el,idbvars.csh,idbvars.sh,iidb,mpirun_dbg.idb}  |
-  |  rm -rf /opt/doc/idb                                                     |
-  |  rm -f /opt/man/man1/idb.1                                               |
-  |  sed -i -e 's/source \/opt\/bin\/idbvars.sh//' /etc/profile              |
-  |  echo "done."                                                            |
-  |                                                                          |
-  |  rm -f /opt/bin/uninstall_intel-c-compiler.sh                            |
-  |  EOF                                                                     |
-  |                                                                          |
-  |  chmod 755 /opt/bin/uninstall_intel-c-compiler.sh                        |
-  |__________________________________________________________________________|
+# Configure the debugger (make sure the version of the first one is correct):
 
+sed -e 's/<INSTALLTIMECOMBOPACKAGEID>/l_cc_p_8\.1\.028/' \
+	-i /opt/doc/idb/idbsupport
 
-3. Command explanations
-=======================
+sed -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \
+	-e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \
+	-e 's/<INSTALLDIR>\/man/\/opt\/man/g' -i /opt/bin/idbvars.csh
 
-The Intel C++ Compiler is non-free software. To separate it from the main
-system, installing in /opt is choosen.
+sed -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \
+	-e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \
+	-e 's/<INSTALLDIR>\/man/\/opt\/man/g' -i /opt/bin/idbvars.sh
 
+source /opt/bin/idbvars.sh
 
-4. Configuring Intel C++ Compiler
-=================================
+# For reasons unknown to me, ICC links to libgcc_s.so. On an LFS system
+# libgcc_s.so is in /usr/lib. Incase you have /usr on a seperate partition we
+# need to move libgcc_s.so to /lib:
 
+cp /usr/lib/libgcc_s.so.1 /lib/libgcc_s.so.1 &&
+ln -s libgcc_s.so.1 /lib/libgcc_s.so &&
+rm /usr/lib/libgcc_s.so*
 
-4.1. License file
-=================
+# If you plan to use ICC to compile must of the LFS system, the runtime
+# library should be moved to /lib:
 
-Install your license file with the following command:
+mv /opt/lib/libimf.so /lib &&
+ln -s ../../lib/libimf.so /opt/lib/libimf.so
 
-   __________________________________________________________________________
-  |                                                                          |
-  |  cp *_cpp_l_*.lic /opt/doc/icc/licenses                                  |
-  |__________________________________________________________________________|
+# Now we can use the Intel compiler. You should read:
+# http://gentoo-wiki.com/HOWTO_ICC_and_Portage#CFLAGS
 
+# And figure out your CFLAGS, if you are using CFLAGS. You can't use
+# -fomit-frame-pointer or -pipe, and a few others. For the sake of this hint,
+# and copy pasting, lets set special ICC CFLAGS now. On my Prescott I use this:
 
-4.2. Environment variables
-==========================
+export ICC_CFLAGS="-ip -xP -O2"
+export ICC_CXXFLAGS="$ICC_CFLAGS"
 
-Configure the compiler by running the following commands:
+# INSTALLING PACKAGES (Chapter 6):
 
-   __________________________________________________________________________
-  |                                                                          |
-  |  sed -i -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \      |
-  |     -i -e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \                           |
-  |	-i -e 's/<INSTALLDIR>\/lib/\/opt\/lib/g' /opt/bin/icc                |
-  |                                                                          |
-  |  sed -i -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \      |
-  |	-i -e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \                           |
-  |     -i -e 's/<INSTALLDIR>\/lib/\/opt\/lib/g' \                           |
-  |     -i -e 's/<INSTALLDIR>\/man/\/opt\/man/g' /opt/bin/iccvars.csh        |
-  |                                                                          |
-  |  sed -i -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \      |
-  |	-i -e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \                           |
-  |     -i -e 's/<INSTALLDIR>\/lib/\/opt\/lib/g' \                           |
-  |     -i -e 's/<INSTALLDIR>\/man/\/opt\/man/g' /opt/bin/iccvars.sh         |
-  |                                                                          |
-  |  sed -i -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \      |
-  |	-i -e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \                           |
-  |     -i -e 's/<INSTALLDIR>\/lib/\/opt\/lib/g' /opt/bin/icpc               |
-  |                                                                          |
-  |  sed -i -e 's/<installpackageid>/l_cc_p_8\.1\.024/' \                    |
-  |	/opt/doc/icc/csupport                                                |
-  |                                                                          |
-  |  echo "source /opt/bin/iccvars.sh" >> /etc/profile                       |
-  |__________________________________________________________________________|
+# All you need to do is reset CC, CXX, CFLAGS, and CXXFLAGS. The first package
+# that can be compiled wih ICC is Coreutils. So use something like this:
 
+env CFLAGS="$ICC_CFLAGS" CXXFLAGS="$ICC_CXXFLAGS" \
+	CC="/opt/bin/icc" CXX="/opt/bin/icc" \
+	DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr
 
-Configure the debugger by running the following commands:
+# For every package built with ICC make sure to run the testsuite because this
+# is still expirmental. If one or more tests fail, retry with GCC. If the
+# results are better with GCC, then use GCC. Coreutils tests should pass.
 
-   __________________________________________________________________________
-  |                                                                          |
-  |  sed -i -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \      |
-  |	-e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \                              |
-  |	-e 's/<INSTALLDIR>\/man/\/opt\/man/g' /opt/bin/idbvars.csh           |
-  |                                                                          |
-  |  sed -i -e 's/<INSTALLDIR>\/licenses/\/opt\/doc\/icc\/licenses/g' \      |
-  |	-e 's/<INSTALLDIR>\/bin/\/opt\/bin/g' \                              |
-  |	-e 's/<INSTALLDIR>\/man/\/opt\/man/g' /opt/bin/idbvars.sh            |
-  |                                                                          |
-  |  sed -i -e 's/<INSTALLTIMECOMBOPACKAGEID>/l_cc_p_8\.1\.024/' \           |
-  |	/opt/doc/idb/idbsupport                                              |
-  |                                                                          |
-  |  echo "source /opt/bin/idbvars.sh" >> /etc/profile                       |
-  |__________________________________________________________________________|
+# Before ./configure of each package you want to compile with ICC use this:
 
+env CFLAGS="$ICC_CFLAGS" CXXFLAGS="$ICC_CXXFLAGS" \
+	CC="/opt/bin/icc" CXX="/opt/bin/icc"
 
-5. Contents
-===========
+# The LFS packages that will compile well with ICC are:
+#
+# Coreutils
 
-The compiler package contains codecov, iccbin, iccfilt, icpcbin, icpi, mcpcom,
-prelink, profmerge, proforder, profrun, pronto_tool, tselect, xiar, xild and
-crtxi.o, crtxn.o, icrt.internal.map, icrt.link, libcprts.a, libcprts.so,
-libcprts.so.5, libcxa.a, libcxa.so, libcxa.so.5, libcxaguard.a, libcxaguard.so, 
-libcxaguard.so.5, libguide.a, libguide.so, libguide_stats.a, libguide_stats.so, 
-libimf.a, libimf.so, libirc.a, libirc_s.a, libompstub.a, libsvml.a, libsvml.so,
-libunwind.a, libunwind.so, libunwind.so.5 libraries.
+# Zlib <-- Remember to add -fpic to CFLAGS
+# If you are planning to install X11 then you should build Zlib with GCC, or
+# else you will have errors linking X11 to libz.
 
-The debugger package contains iidb.
+# Mktemp
+# Findutils
+# Readline
+# Vim
+# M4
+# Bison
+# Less
+# Gettext
+# Inetutils
+# Iproute2
 
+# For Iproute2 do:
 
-6. Description
-==============
+sed -e 's at gcc@/opt/bin/icc at g' -i Makefile &&
+sed -e "s/^CFLAGS .*$/& $ICC_CFLAGS/" -i Makefile
 
-  * codecov
+# Perl
+# Texinfo
+# Autoconf
+# Automake
+# File
+# Libtool
+# Bzip2
 
-    Intel C++ Compiler code-coverage tool
+# For Bzip2 do:
 
+sed -e 's at gcc@/opt/bin/icc at g' -i Makefile &&
+sed -e "s/^CFLAGS .*$/& $ICC_CFLAGS/" -i Makefile
 
-  * idb
+# Other programs will have problems linking to libbz2 if it is compiled
+# with ICC, so libbz2 should be compiled with GCC. Bzip2 itself can work with
+# ICC.
 
-    Intel Application Debugger
+# Diffutils
+# Kbd
+# E2fsprogs
+# Grep
+# Gzip
+# Man
+# Make
+# Module-init-tools
 
+# For Module-init-tools you will need to use a patch to disable the static
+# linking of insmod:
+# http://www.linuxfromscratch.org/patches/downloads/module-init-tools/\
+#	module-init-tools-3.1-nostatic-1.patch
 
-  * iccbin
+# Patch
+# Psmisc
+# Shadow
+# Sysvinit
 
-    Intel C++ Compiler
+# For Sysvinit do:
 
+sed -e 's at gcc@/opt/bin/icc at g' \
+	-e 's/-fomit-frame-pointer//g' \
+	-e "s/^CFLAGS.*$/& $ICC_CFLAGS/" -i src/Makefile
 
-  * icpi
+# Tar
+# Udev
 
-    Intel Compilation Problem Isolator
+# For Udev do:
 
+make udevdir=/dev CC=/opt/bin/icc LD=/opt/bin/icc HOSTCC=/opt/bin/icc
 
-  * tselect
+# Util-linux
 
-    Intel C++ Compiler test prioritizer
+# For Util-linux do:
 
---------------------------------------------------------------------------------
+sed -e 's/-mtune=i486//g' -i configure &&
+sed -e 's/-fomit-frame-pointer//g' -i MCONFIG
 
+# And then use the env command before ./configure.
+
+# After LFS is installed do this:
+
+echo "source /opt/bin/idbvars.sh" >> /etc/profile
+echo "source /opt/bin/iccvars.sh" >> /etc/profile
+echo 'export ICC_CFLAGS="-ip -xP -O2"' >> /etc/profile
+echo 'export ICC_CXXFLAGS="$ICC_CFLAGS"' >> /etc/profile
+source /etc/profile
+
+# Beyond LFS packages which compile well with ICC:
+
+# OpenSSL
+
+# For OpenSSL do this after ./config, and before make:
+
+sed -e 's at gcc@/opt/bin/icc at g' \
+	-e 's/-fomit-frame-pointer//g' \
+	-e 's/-mcpu=pentium//g' \
+	-e 's/-O3//g' \
+	-e "s/^CFLAG.*$/& $ICC_CFLAGS/" -i Makefile
+
+# OpenSSH
+# Freetype
+# Expat
+# Fontconfig
+# Jpeg-6b
+# Freeglut
+# Lcms
+# Libmng
+
+# For Libmng do:
+
+sed -e 's at gcc@/opt/bin/icc@' -i Makefile &&
+sed -e "s/^CFLAGS .*$/& $ICC_CFLAGS/" -i Makefile
+
+# Qt
+
+# For Qt do:
+
+sed -e "s/^QMAKE_CFLAGS_RELEASE.*$/& $ICC_CFLAGS/" \
+        -i mkspecs/linux-icc/qmake.conf
+
+# And add "-platform linux-icc -thread" to the ./configure command.
+
+# Glib
+# Gtk
+# Pkgconfig
+# Glib2
+# Pango
+# Atk
+# Gtk2
+# Libogg
+# Libxml
+# Libxst
+# Audiofile
+# Libmad
+# Which
+# GnuPG
+# Cdparanoia
+# Libungif
+# Giflib
+# Imlib2
+# Aalib
+# SDL
+# Libdvdcs
+# Libdvdread
+# Xvidcore
+# Lzo
+
+# Lame
+# If Lame is compiled with ICC it will cause problems with other packages, like
+# FFmpeg, which try to link to libmp3lame. This package should be compiled with
+# GCC.
+
+# Xine-lib
+# Popt
+# Libao
+# Flac123
+# Wget
+# Cvs
+# Ncftp
+# Subversion
+# Ntp
+# Lynx
+# Bind-utils
+# Vorbis-tools
+# Mpg123
+
+# For Mpg123 do:
+
+sed -e 's at gcc@/opt/bin/icc at g' -i Makefile
+
+# LibIDL
+# Zip
+
+# For Zip do:
+
+sed -e 's at gcc at icc at g' -i unix/Makefile
+
+# And use "generic_icc" when you run make.
+
+# Unzip
+
+# For Unzip do this after applying the patches to Unzip:
+
+sed -e 's at gcc at icc at g' -i unix/Makefile
+
+# Vorbisgain
+# Libaal
+# Reiser4progs
+# Cdrtools
+
+# For Cdrtools do:
+
+sed -e "s/-O/$ICC_CFLAGS/" -i RULES/i586-linux-cc.rul
+
+# And add "CC=/opt/bin/icc" to the make command.
+
+# Irssi
+
+# And more...
+
+ACKNOWLEDGMENTS:
+	* Thanks to Daniel Baumann for the original hint.
+	* Thanks to Gentoo for their wiki page:
+		http://gentoo-wiki.com/HOWTO_ICC_and_Portage
+
 CHANGELOG:
-[2004-12-03]
-  * Updated to icc 8.1.024.
-[2004-09-19]
-  * Updated to icc 8.1.021.
-[2004-09-09]
-  * Formal changes.
-  * Minor text changes.
-  * Added Command explanations.
-[2004-07-17]
-  * Typographic mistakes corrected.
-[2004-07-10]
-  * Initial revision.
+[2005-06-25]
+	* Adopted hint.
+[2005-06-26]
+	* Added more supported packages.
+{2005-07-04]
+	* It can reboot now.




More information about the hints mailing list