The icc-add-amd64-preprocessor-directives.patch fails to apply on my machine. >>> Emerging (1 of 5) dev-lang/icc-10.1.017-r1 * l_cc_p_10.1.017_ia32.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * Checking for at least 512MBytes RAM ... [ ok ] * Checking for at least 300MBytes disk space at ${T} ... [ ok ] >>> Unpacking source... >>> Unpacking l_cc_p_10.1.017_ia32.tar.gz to /gentoo/tmp/portage/dev-lang/icc-10.1.017-r1/work * Extracting intel-icc101017-10.1.017-1.i386.rpm... * Extracting intel-isubh101017-10.1.017-1.i386.rpm... * Applying icc-add-amd64-preprocessor-directives.patch ... * Failed Patch: icc-add-amd64-preprocessor-directives.patch ! * ( /gentoo/portage/dev-lang/icc/files/icc-add-amd64-preprocessor-directives.patch ) * * Include in your bugreport the contents of: * * /gentoo/tmp/portage/dev-lang/icc-10.1.017-r1/temp/icc-add-amd64-preprocessor-directives.patch-31754.out * * ERROR: dev-lang/icc-10.1.017-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_unpack * environment, line 2280: Called epatch '/gentoo/portage/dev-lang/icc/files/icc-add-amd64-preprocessor-directives.patch' * environment, line 1252: Called die * The specific snippet of code: * die "Failed Patch: ${patchname}!"; * The die message: * Failed Patch: icc-add-amd64-preprocessor-directives.patch! * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/dev-lang:icc-10.1.017-r1:20080823-032353.log'. * The ebuild environment file is located at '/gentoo/tmp/portage/dev-lang/icc-10.1.017-r1/temp/environment'. *
Created attachment 163593 [details] emerge --info
Created attachment 163594 [details] emerge log
Created attachment 163596 [details] epatch ouput
Well, aside from the fact that the patch just doesn't work right now, the patch is the wrong approach anyway. Defining __amd64 in a header file means #if defined(__amd64__) #define HAVE_64BIT #endif #include <header a> #if HAVE_64BIT #include <header b> #endif cannot possibly work, because __amd64__ isn't defined yet. It should be defined in icc.cfg/icpc.cfg, as suggested on <http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30251206.aspx> (from #233739, no less) I'll attach a patch shortly.
Created attachment 163608 [details, diff] icc.diff This patch makes __amd64__ conditional on use amd64, and defines it in the configuration files instead of a header.
Fixed in cvs. Thanks!