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 <cheusov%tut.by@localhost>
To: David Holland <dholland-pbugs%netbsd.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
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.
 Yes.
 
 > 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).
 
        icc(1)
        ...
        -shared-libcxa
               No suggested replacement.
 
 
        -static-libcxa
               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 \
     deprecated'
 
 > 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 icc.mk.)
 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
 
        -i-dynamic
               Link  Intel  provided libraries dynamically.  This option has 
been depre-
               cated for this release.  Suggested replacement -shared-intel.
 
 
        -i-static
               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