Hello! PLease find attached icc-8.1.021.ebuild. icc is the Intel C++ compiler. This ebuild is for the new version 8.1. Konstantinos
The files from icc version 8.0.55 "files/8.0.055" are also required for icc 8.1.021.
am i gone blind or is there no attachement? ;)
Created attachment 42710 [details] ICC 8.1 ebuild When first wrote about the new ebuild I forgot the ebuild, sorry! I have done some changes: * The installation script keeps the default intel directory structures (intel_cc_80 and intel_idb_80). * Two files icc.cfg and icpc.cfg are installed under /etc/env.d/icc. The two files include the icc and icpc parameters. The two files include the -long_double parameter as provided by intel and point to the include gcc standard c++ library files (GCC 3.3.4). The environment variable ICCCFG and ICPCCFG point to these two files. More information can be found in the icc manual. The icc 8.1 is using the gcc c++ libraries for gcc version greater to 3.2, this is why I have added the include directories to the config files. If you want to use the intel c++ libraries add the -cxxlib-icc to the config files. Please also check the icc manual.
Created attachment 42711 [details] Environment variables
Created attachment 42712 [details] icc file used to call iccbin
Created attachment 42713 [details] icc configuration file (icc.cfg)
Created attachment 42714 [details] icpc file used to call icpcbin
Created attachment 42715 [details] icpc configuration file (icpc.cfg)
All the files required by the ebuild goinf under the files/8.1.021 directory in the <portage dir>/dev-lang/icc/files/8.1.021. I haven't test yet any portage packages using icc 8.1! Thanks, Konstantinos
Created attachment 42723 [details] icpc configuration file (icpc.cfg) When i try to use exported templates using the gcc c++ libraries I had some problems with linking.
Created attachment 44276 [details] icc file used to call iccbin set compiler variables at run time (intel default)
Created attachment 44277 [details] icpc file used to call icpcbin set compiler variables at run time (intel default)
Created attachment 44278 [details] Environment variables remove some variables due to conflicts with fortran compiler 8.1
Installing both icc and ifc there will be a duplicate value (idb stuff) in path,rootpath and manpath environment variables
I can report that this ebuild works on ia64 (which 8.0 doesn't (ld complains)). You have however forgotten to fix the scripts opt/intel/intel_cc_80/bin/e{cc,cpc}: $ ecc /opt/intel/intel_cc_80/bin/ecc: line 7: INSTALLDIR: No such file or directory /opt/intel/intel_cc_80/bin/ecc: line 15: INSTALLDIR: No such file or directory /opt/intel/intel_cc_80/bin/ecc: line 23: INSTALLDIR: No such file or directory /opt/intel/intel_cc_80/bin/ecc: line 34: INSTALLDIR: No such file or directory (ecc was the name that the Intel ia64 compiler had in versions 6.0 and 7.0).
Created attachment 45450 [details] ICC 8.1 ebuild New ebuild installs intel c/c++ to /opt/intel/intel_cc_80
Created attachment 45451 [details] icpc script to run intel c++ driver Fixed g++ library and include path.
Created attachment 45452 [details] ICC environment variables Removed configuration files
Created attachment 45472 [details] ICC 8.1 ebuild Installs icc,icpc,ecc,ecpc scripts for the ia64 architecture
Created attachment 45473 [details] ecpc script to run intel c++ driver (ia64) ecpc script executes c++ driver for ia64 architecture
Created attachment 45474 [details] ecc script to run intel c driver (ia64) ecc script for the ia64 architecture
Created attachment 45475 [details] icpc script to run intel c++ ia32 driver (used with in ia64)
Created attachment 45476 [details] icc script to run intel c ia32 driver (used with in ia64)
I have added the scripts required for ia64 architecture. Please note that the files for the x86 should be placed under <port_overlay_dir>/dev-lang/icc/files/8.1.021/x86 and for the ia64 architecture under <port_overlay_dir>/dev-lang/icc/files/8.1.021/ia64 Hope is gonna work. Thanks
Created attachment 46044 [details] ICC 8.1 ebuild (new icc version)
Created attachment 46045 [details] ICC 8.1 ebuild
Created attachment 46046 [details] Environment variables
Created attachment 46047 [details] icc script to run intel c compiler
Created attachment 46048 [details] icpc script to run intel c++ driver
Created attachment 46049 [details] ecc script to run intel c driver (ia64)
Created attachment 46050 [details] ecpc script to run intel c++ driver (ia64)
Created attachment 46051 [details] icc script to run intel c ia32 driver (used with in ia64)
Created attachment 46052 [details] icpc script to run intel c++ ia32 driver (used with in ia64)
The installation scripts will place the compiler under /opt/inte_cc_80 (default directory). This is because some software that can be build using icc - boost for example - try to find iccvars.(c)sh file in /opt/intel_cc_80.
8.1 is supposed to support em64t, which I believe intel refers to as ia32e? Are additional wrappers/etc needed for that? Has anyone tested w/ amd64 arch and em64t?
In order to generate code for em64t capable processors you need to pass extra options to the compiler. Hava a look at the manual in the compiler options sections. As for a amd64 not a clue.
rpm is a build dependency
*** Bug 70183 has been marked as a duplicate of this bug. ***
I marked my bug as a duplicate of this. However the description should be changed since it
I marked my bug as a duplicate of this. However the description should be changed since it´s not just for Pentiums. It also works well on other x86 cpus and there is (tada) support for other archs like ia64
Comment on attachment 46044 [details] ICC 8.1 ebuild (new icc version) ># Copyright 1999-2004 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Header: /var/cvsroot/gentoo-x86/dev-lang/icc/icc-8.0.055.ebuild,v 1.3 2004/06/24 22:50:29 agriffis Exp $ > >inherit rpm > >S=${WORKDIR} > >DESCRIPTION="Intel C++ Compiler 8.1 for Linux" > >SRC_BASE="l_cc_pu_8.1.024" >SRC_PACK="${SRC_BASE}.tar.gz" >SRC_URI1="ftp://download.intel.com/software/products/compilers/downloads/${SRC_PACK}" >SRC_URI2="ftp://download.intel.co.jp/software/products/compilers/downloads/${SRC_PACK}" >SRC_URI="${SRC_URI1} ${SRC_URI2}" ># Both IA32 and IA64 can be installed here since all files have a distinct name. >INSTALL_ICC_DIR="/opt/intel_cc_80" >INSTALL_IDB_DIR="/opt/intel_idb_80" > >HOMEPAGE="http://www.intel.com/software/products/compilers/clin/" > >LICENSE="icc-8.1" > >DEPEND=">=sys-libs/glibc-2.2.5" > >SLOT="8" >KEYWORDS="x86 ia64" >IUSE="" > >RESTRICT="nostrip" > >src_unpack() { > unpack ${SRC_PACK} > cd ${WORKDIR}/${SRC_BASE} > > # Only use our architecture > if [ "$ARCH" = "x86" ] > then > rm -f intel-*.ia64.rpm > else > rm -f intel-*.i386.rpm > fi > > # Do not install eclipse plugin > if [ -f intel-icc_ide8*.rpm ] > then > rm -r intel-icc_ide8*.rpm > fi > > for x in *.rpm > do > # WORKDIR must be set properly for rpm_unpack() > rpm_unpack ${WORKDIR}/${SRC_BASE}/${x} > done >} > >src_compile() { > # From UNTAG_CFG_FILES() in 'install.sh' > # Keep the Fortran bits(...) > for FILE in $(find ${S}/opt/intel_*/bin/ -regex '.*[ei](cc|fort|fc|cpc)$\|.*cfg$\|.*pcl$\|.*vars[^/]*.c?sh$' 2>/dev/null) > do > sed s@\<INSTALLDIR\>@${INSTALL_ICC_DIR}@g ${FILE} > ${FILE}.abs > mv -f ${FILE}.abs ${FILE} > chmod 755 ${FILE} > done > > # == SRC_BASE > eval `grep "^[ ]*PACKAGEID=" ${SRC_BASE}/install.sh` > > # From UNTAG_SUPPORT() in 'install.sh' > SUPPORTFILE=${S}/opt/intel_cc_80/doc/csupport > if [ -f ${SUPPORTFILE} ] > then > einfo "Untagging: ${SUPPORTFILE}" > sed s@\<installpackageid\>@${PACKAGEID}@g ${SUPPORTFILE} > ${SUPPORTFILE}.abs > mv ${SUPPORTFILE}.abs ${SUPPORTFILE} > chmod 644 ${SUPPORTFILE} > fi > > # From UNTAG_SUPPORT_IDB() in 'install.sh' > SUPPORTFILE=${S}/opt/intel_idb_80/doc/idbsupport > if [ -f ${SUPPORTFILE} ] > then > einfo "Untagging: ${SUPPORTFILE}" > sed s@\<INSTALLTIMECOMBOPACKAGEID\>@${PACKAGEID}@g ${SUPPORTFILE} > ${SUPPORTFILE}.abs > mv ${SUPPORTFILE}.abs ${SUPPORTFILE} > chmod 644 ${SUPPORTFILE} > fi > > # These should not be executable > find "${S}/opt/intel_cc_80/"{doc,man,include} -type f -exec chmod -x "{}" ";" > find "${S}/opt/intel_cc_80/lib" -name \*.a -exec chmod -x "{}" ";" > find "${S}/opt/intel_idb_80/"{doc,man} -type f -exec chmod -x "{}" ";" >} > >src_install () { > dodoc ${SRC_BASE}/lgpltext > dodoc ${SRC_BASE}/clicense > install -d ${D}/${INSTALL_ICC_DIR} > install -d ${D}/${INSTALL_IDB_DIR} > cp -a opt/intel_cc_80/* ${D}/${INSTALL_ICC_DIR} > cp -a opt/intel_idb_80/* ${D}/${INSTALL_IDB_DIR} > insinto /etc/env.d > doins ${FILESDIR}/${PVR}/05icc || die > > if [ "$ARCH" = "x86" ] > then > exeinto ${INSTALL_ICC_DIR}/bin > doexe ${FILESDIR}/${PVR}/x86/icc > doexe ${FILESDIR}/${PVR}/x86/icpc > fi > > if [ "$ARCH" = "ia64" ] > then > exeinto ${INSTALL_ICC_DIR}/bin > doexe ${FILESDIR}/${PVR}/ia64/icc > doexe ${FILESDIR}/${PVR}/ia64/icpc > doexe ${FILESDIR}/${PVR}/ia64/ecc > doexe ${FILESDIR}/${PVR}/ia64/ecpc > fi >} > >pkg_postinst () { > einfo "http://www.intel.com/software/products/compilers/clin/noncom.htm" > einfo "From the above url you can get a free, non-commercial" > einfo "license to use the Intel C++ Compiler emailed to you." > einfo "You cannot run icc without this license file." > einfo "Read the website for more information on this license." > einfo > einfo "Documentation for the compiler can be found in ${INSTALL_ICC_DIR}/doc/" > einfo > einfo "You will need to place your license in ${INSTALL_ICC_DIR}/licenses/" > einfo > > ewarn > ewarn "Packages compiled with versions of icc older than 8.0 will need" > ewarn "to be recompiled. Until you do that, old packages will" > ewarn "work if you edit /etc/ld.so.conf and change '${INSTALL_ICC_DIR}'" > ewarn "to '/opt/intel/compiler70' and run 'ldconfig.' Note that this edit" > ewarn "won't persist and will require you to re-edit after each" > ewarn "package you re-install." > ewarn "BEFORE COMPILING IMPORTANT APPLICATIONS THAT YOUR" > ewarn "SYSTEM DEPENDS ON, READ THE WARNING ABOVE." > ewarn "THIS COULD RENDER YOUR SYSTEM UNUSABLE." > ewarn "THIS IS A PROBLEM WITH INTEL'S SOFTWARE, _NOT_" > ewarn "WITH GENTOO." > > ewarn "If 'icc' breaks, use 'iccbin' instead and report a bug." > ewarn "Please use 'source /etc/profile' prior to merging any icc-enabled" > ewarn "ebuilds." > > ewarn "The Intel C++ compiler is bundled with Eclipse platform 2.1 the" > ewarn "Eclipse C/C++ development tools and a plugin provided by Intel" > ewarn "to integrate icc with Eclipse. For now non of these are installed." >}
Created attachment 50307 [details] ICC 8.1 ebuild (new icc version) Description changed
Created attachment 50308 [details] ICC 8.1 ebuild Description changed
Hi! What's the status of icc-8.1 ebuild? I am eager for the new ICC, especially since the 8.0.055 version has problems with the new glibc versions.
Hi, the compiler seems to work with no problems for know. I haven't try it yet with ebuilds. As for glibc, there is a little problem with some double undescore variables, as the compiler gets confused.
I'm Curious where the icc 8.1 support in gentoo stands? Is there a reason the ebuild is not found in the portage tree but masked? thanks in advance, doug
I don't either, and I believe it should be by now.
*** Bug 91926 has been marked as a duplicate of this bug. ***
Created attachment 58416 [details] icc-8.1.028.ebuild smae ebuild, changed version number and the name of the src download to match. Tuxp3
I tested 8.1.028, and it seems to work very well (on x86), I think there is no reason for the ebuild not to be in the portage tree. I tried to contact Thomas Veith, but he seems to be unavailable for a long time (there are also no comments by him in this thread). Maybe someone with more time on their hands can take over dev-lang/icc? Thomas Veith, if you read this, please write a note! I have tested with the following hierarchy: icc/files/digest-icc-8.1.028 icc/files/8.1.028/x86/icc icc/files/8.1.028/x86/icpc icc/files/8.1.028/ia64/ecc icc/files/8.1.028/ia64/icc icc/files/8.1.028/ia64/ecpc icc/files/8.1.028/ia64/icpc icc/files/8.1.028/05icc icc/icc-8.1.028.ebuild Where the addition to icc/Manifest is MD5 5352159fbbbcd6fb0c9415c0560c61ed files/8.1.028/x86/icc 656 MD5 c62cddc93fb148b8c16a4901243c6a5a files/8.1.028/x86/icpc 732 MD5 84a18edc053a0fa0ab3d4f81d2e63b02 files/8.1.028/ia64/ecc 690 MD5 c82fabb44c20d0af25dd28849a04e1c3 files/8.1.028/ia64/icc 690 MD5 b7ee3b3b0bb27d9201fe8657c5c1ffdc files/8.1.028/ia64/ecpc 766 MD5 22d944fb426b94aea3475924d5132895 files/8.1.028/ia64/icpc 766 MD5 6a3fa13754522fd6f48206f60b48b5ae files/8.1.028/05icc 179 MD5 2f12c0b72e5480eb0cf6838bd14a20a7 files/digest-icc-8.1.028 70 MD5 caf50323f0dcec0c58cf04cc8fdf0758 icc-8.1.028.ebuild 4774 And digest-icc-8.1.028 contains MD5 c731762ff850020e67856980d9919030 l_cc_pc_8.1.028.tar.gz 135460369 (Perhaps these can be generated automatically, but I am too familiar with portage.) In hope that ICC will some day become a stable part of portage, Michael
I'd be willing to take over ICC, and I definately want to get ICC in gentoo to the point that its useable in production servers for all the packages (building from the ground up with ICC.. Email me at amuraco@gmail.com or tuxp3@leetworks.com if any devs (or whoever would take care of that) want me to actively work on ICC in the tree.. Thanks, Andrew Muraco
Can we have 8.1.028 released please? Whats stopping its release?
Hi, this thread is pretty much dead? I use ~x86 it even tries to install icc-8.1.032, but the file does not exist at intel's site: ftp://download.intel.com/software/products/compilers/downloads. As everybody else, pelase inject the 8.1.028 ebuild into portage.
I added 8.1.028 last week. Haven't seen any complaints about my addition, so I'm assuming it works well enough for this bug to be closed.