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