pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/38398: bootstrap fails with Intel C Compiler

The following reply was made to PR pkg/38398; it has been noted by GNATS.

From: Aleksey Cheusov <>
To: David Holland <>
Subject: Re: pkg/38398: bootstrap fails with Intel C Compiler
Date: Sun, 09 Aug 2009 18:18:20 +0300

 > On Fri, Apr 11, 2008 at 10:27:21AM +0300, Aleksey Cheusov wrote:
  >> >  Seems you forgot to give --compiler to ./bootstrap, that might cause it
  >> >  to fail in the way described.
  >> I followed the instructions which needs to be fixed.
 > It looks as if setting ICCBASE in mk.conf and using --compiler=icc
 > should be sufficient.
 > Although since bootstrap is supposed to create
 > mk.conf, and it'll need it before bootstrap finishes, I'm not sure how
 > the former part is supposed to work.
 After bootstrapping ICCBASE variable should added to mk.conf manually.
 PKGSRC_COMPILER=icc is added automatically (--compiler=icc).
 > Is the -static-libcxa thing still required?
 -static-libcxa is deprecated in icc-10.1 (I have no earlier icc).
               No suggested replacement.
               No suggested replacement.
 icc warns about it
     icc: command line remark #10010: option '-static-libcxa' is \
     deprecated and will be removed in a future release. See '-help \
 > And should the default
 > ICCBASE be adjusted to something like a recent version?
 I tested mk.conf without ICCBASE but with CC and CXX set to icc and icpc
 respectively. It seems it works fine, at least for packages I tested.
 > (The ac_cv___attribute__ thing is now definitely handled by
 Yes, for bootstrapping ac_cv___attribute__=yes is not needed.
 > --- files/platforms.xml      7 May 2008 09:10:19 -0000       1.60
 > +++ files/platforms.xml      1 Aug 2009 18:15:47 -0000
 > @@ -444,28 +444,13 @@
 >        directory:</para>
 >        <programlisting>
 > -env CC=/opt/intel_cc_80/bin/icc LDFLAGS=-static-libcxa \
 > -ac_cv___attribute__=yes ./bootstrap
 > +env LDFLAGS=-static-libcxa ./bootstrap --compiler=icc
 >        </programlisting>
 I think the following variant is more correct and easier
    env ICCBASE=/opt/intel/cc/10.1.008 ./bootstrap --compiler=icc
 The following also works fine
    env CC=/opt/intel/cc/10.1.008/bin/icc ./bootstrap --compiler=icc
 >        <note>
 >      <para>icc 8.1 needs the `-i-static' argument instead of 
 > -static-libcxa.</para>
 >        </note>
 -i-static and -i-dynamic options are also deprecated in icc-10
               Link  Intel  provided libraries dynamically.  This option has 
been depre-
               cated for this release.  Suggested replacement -shared-intel.
               Links Intel-provided libraries statically.  This option has  
been  depre-
               cated for this release.  Suggested replacement -static-intel.
 > -      <para>icc supports __attribute__, but the GNU configure test uses a 
 > nested
 > -      function, which icc does not support. #undef'ing __attribute__ has the
 > -      unfortunate side-effect of breaking many of the Linux header files, 
 > which
 > -      cannot be compiled properly without __attribute__. The test must be
 > -      overridden so that __attribute__ is assumed supported by the
 > -      compiler.</para>
 Yes, nested functions are still not supported by icc but this is not a problem.
 > -      <para>After bootstrapping, you should set 
 > <varname>PKGSRC_COMPILER</varname>
 > -      in &mk.conf;:</para>
 > -      <programlisting>
 > -PKGSRC_COMPILER=        icc
 > -      </programlisting>
 Yes, there is no need for this.
 >        <para>The default installation directory for icc is
 >        <filename>/opt/intel_cc_80</filename>, which
 >        is also the pkgsrc default. If you have installed it into a different
 Best regards, Aleksey Cheusov.

Home | Main Index | Thread Index | Old Index