# Using nginx 1.1 with the intel compiler

**URL:** <https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141>\
**Category:** NGINX\
**Created:** [February 22, 2012, 2:32pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141 "2012-02-22T14:32:27Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [February 22, 2012, 2:32pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/1 "2012-02-22T14:32:27Z")

</div>

Not sure what I’m doing wrong here…

[root@bob:~/trunk]# export | grep cc  
CC=icc  
LD\_LIBRARY\_PATH=/opt/intel/composer\_xe\_2011\_sp1.9.293/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/ipp/…/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/ipp/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/mkl/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/tbb/lib/ia32//cc4.1.0\_libc2.4\_kernel2.6.16.21:/opt/intel/composer\_xe\_2011\_sp1.9.293/debugger/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/mpirt/lib/ia32  
LIBRARY\_PATH=/opt/intel/composer\_xe\_2011\_sp1.9.293/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/ipp/…/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/ipp/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/mkl/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/tbb/lib/ia32//cc4.1.0\_libc2.4\_kernel2.6.16.21

[root@bob:~/trunk]# ./configure  
checking for OS

- Linux 3.2.5 i686  
checking for C compiler … not found

./configure: error: C compiler icc is not found

Even if I specify it,

[root@bob:~/trunk]# ./configure --with-cc=/opt/intel/bin/icc  
checking for OS

- Linux 3.2.5 i686  
checking for C compiler … not found

./configure: error: C compiler /opt/intel/bin/icc is not found

And just specifying “icc” instead"

[root@bob:~/trunk]# ./configure --with-cc=icc  
checking for OS

- Linux 3.2.5 i686  
checking for C compiler … not found

./configure: error: C compiler icc is not found

hmm still not found, its in the path:

[root@bob:~/trunk]# icc --version  
icc (ICC) 12.1.3 20120212  
Copyright © 1985-2012 Intel Corporation. All rights reserved.

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 22, 2012, 2:46pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/2 "2012-02-22T14:46:45Z")

</div>

Hello!

On Thu, Feb 23, 2012 at 02:31:31AM +1300, Ryan B. wrote:

> checking for C compiler … not found  
> ./configure: error: C compiler /opt/intel/bin/icc is not found  
> hmm still not found, its in the path:
> 
> [root@bob:~/trunk]# icc --version  
> icc (ICC) 12.1.3 20120212  
> Copyright (C) 1985-2012 Intel Corporation. All rights reserved.

Try looking into objs/autoconf.err, it will have exact reason for  
the “not found” verdict. Most likely it fails to compile code for  
some reason, the autoconf.err file should have details.

Maxim D.

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 22, 2012, 3:02pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/3 "2012-02-22T15:02:55Z")

</div>

I’m guessing its similar to the openssl compile, which I used  
[http://software.intel.com/en-us/forums/showthread.php?t=101266](http://software.intel.com/en-us/forums/showthread.php?t=101266)

[root@bob:trunk/objs]# locate sys/types.h  
/usr/include/i386-linux-gnu/sys/types.h

Not sure how to pass to nginx to use, (this fails)

./configure --with-cc=/opt/intel/bin/icc  
–with-cc-opt=-I/usr/include/i386-linux-gnu/

* * *

checking for C compiler

objs/autotest.c(2): catastrophic error: cannot open source file  
“sys/types.h”  
#include \<sys/types.h\>  
^

## compilation aborted for objs/autotest.c (code 4)

#include \<sys/types.h\>

int main() {  
;  
return 0;  
}

* * *

## icc -o objs/autotest objs/autotest.c

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 25, 2012, 12:49am UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/4 "2012-02-25T00:49:15Z")

</div>

Any clues on this?

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 22, 2012, 10:36pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/5 "2012-02-22T22:36:33Z")

</div>

Okay, manage to get it to compile,

make[1]: Entering directory `/root/trunk’  
/opt/intel/bin/icc -c -pipe -O -W -Wall -Wpointer-arith  
-Wno-unused-parameter -Wunused-function -Wunused-variable  
-Wunused-value -Werror -g -I src/core -I src/event -I  
src/event/modules -I src/os/unix -I objs   
-o objs/src/core/ngx\_string.o   
src/core/ngx\_string.c  
icc: command line warning #10006: ignoring unknown option  
‘-Wunused-value’  
src/core/ngx\_string.c(1519): error #188: enumerated type mixed with  
another type  
state = 0;  
^

compilation aborted for src/core/ngx\_string.c (code 2)  
make[1]: \*\*\* [objs/src/core/ngx\_string.o] Error 2

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 25, 2012, 2:09am UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/6 "2012-02-25T02:09:26Z")

</div>

Hello!

On Sat, Feb 25, 2012 at 12:48:34PM +1300, Ryan B. wrote:

> Any clues on this?

It looks like you somehow persuaded nginx that your compiler is  
gcc, and it uses command line arguments appropiate for gcc instead  
of ones for icc. See auto/cc/icc for a long list of warnings which  
should be ignored with icc.

Maxim D.

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 25, 2012, 2:22am UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/7 "2012-02-25T02:22:59Z")

</div>

Though it actually compiles to a point then errors… (ignoring the  
-Wunused-value warnings)

[root@bob:~/trunk]# export | grep cc  
CC=‘icc -I/usr/include/i386-linux-gnu/’  
LD\_LIBRARY\_PATH=/opt/intel/composer\_xe\_2011\_sp1.9.293/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/ipp/…/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/ipp/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/mkl/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/tbb/lib/ia32//cc4.1.0\_libc2.4\_kernel2.6.16.21:/opt/intel/composer\_xe\_2011\_sp1.9.293/debugger/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/mpirt/lib/ia32  
LIBRARY\_PATH=/opt/intel/composer\_xe\_2011\_sp1.9.293/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/ipp/…/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/ipp/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/compiler/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/mkl/lib/ia32:/opt/intel/composer\_xe\_2011\_sp1.9.293/tbb/lib/ia32//cc4.1.0\_libc2.4\_kernel2.6.16.21  
cc=icc  
[root@bob:~/trunk]# icc --version  
icc (ICC) 12.1.3 20120212  
Copyright (C) 1985-2012 Intel Corporation. All rights reserved.

cc: command line warning #10006: ignoring unknown option  
‘-Wunused-value’  
icc -I/usr/include/i386-linux-gnu/ -c -pipe -O -W -Wall  
-Wpointer-arith -Wno-unused-parameter -Wunused-function  
-Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event  
-I src/event/modules -I src/os/unix -I objs   
-o objs/src/core/ngx\_hash.o   
src/core/ngx\_hash.c  
icc: command line warning #10006: ignoring unknown option  
‘-Wunused-value’  
icc -I/usr/include/i386-linux-gnu/ -c -pipe -O -W -Wall  
-Wpointer-arith -Wno-unused-parameter -Wunused-function  
-Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event  
-I src/event/modules -I src/os/unix -I objs   
-o objs/src/core/ngx\_buf.o   
src/core/ngx\_buf.c  
icc: command line warning #10006: ignoring unknown option  
‘-Wunused-value’  
icc -I/usr/include/i386-linux-gnu/ -c -pipe -O -W -Wall  
-Wpointer-arith -Wno-unused-parameter -Wunused-function  
-Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event  
-I src/event/modules -I src/os/unix -I objs   
-o objs/src/core/ngx\_queue.o   
src/core/ngx\_queue.c  
icc: command line warning #10006: ignoring unknown option  
‘-Wunused-value’  
icc -I/usr/include/i386-linux-gnu/ -c -pipe -O -W -Wall  
-Wpointer-arith -Wno-unused-parameter -Wunused-function  
-Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event  
-I src/event/modules -I src/os/unix -I objs   
-o objs/src/core/ngx\_output\_chain.o   
src/core/ngx\_output\_chain.c  
icc: command line warning #10006: ignoring unknown option  
‘-Wunused-value’  
icc -I/usr/include/i386-linux-gnu/ -c -pipe -O -W -Wall  
-Wpointer-arith -Wno-unused-parameter -Wunused-function  
-Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event  
-I src/event/modules -I src/os/unix -I objs   
-o objs/src/core/ngx\_string.o   
src/core/ngx\_string.c  
icc: command line warning #10006: ignoring unknown option  
‘-Wunused-value’  
src/core/ngx\_string.c(1519): error: identifier “bool” is undefined  
(bool) state = 0;  
^

src/core/ngx\_string.c(1519): error: expected a “;”  
(bool) state = 0;  
^

compilation aborted for src/core/ngx\_string.c (code 2)  
make[1]: \*\*\* [objs/src/core/ngx\_string.o] Error 2  
make[1]: Leaving directory `/root/trunk’  
make: \*\*\* [build] Error 2

from a ./configure

[root@bob:~/trunk]# ./configure  
checking for OS

- Linux 3.2.5-ck1 i686  
checking for C compiler … found
- using GNU C compiler
- gcc version: 4.6.0 compatibility)  
checking for gcc -pipe switch … found  
checking for gcc builtin atomic operations … found  
checking for C99 variadic macros … found  
checking for gcc variadic macros … found  
checking for unistd.h … found  
checking for inttypes.h … found  
checking for limits.h … found  
checking for sys/filio.h … not found  
checking for sys/param.h … found  
checking for sys/mount.h … found  
checking for sys/statvfs.h … found  
checking for crypt.h … found  
checking for Linux specific features  
checking for epoll … found

But when it comes to compiling it uses icc (as above), the machine  
does have gcc-4.6 installed also

I didn’t see any error messages in auto/cc/icc, I did noticed it  
reference icc up to 11.x but not 12?

2012/2/25 Maxim D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 25, 2012, 4:17am UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/8 "2012-02-25T04:17:59Z")

</div>

Will try your suggestions…

[root@bob:auto/cc]# icc -v  
icc version 12.1.3 (gcc version 4.6.0 compatibility)  
[root@bob:auto/cc]# icc -V  
Intel(R) C Compiler XE for applications running on IA-32, Version  
12.1.3.293 Build 20120212  
Copyright (C) 1985-2012 Intel Corporation. All rights reserved.  
FOR NON-COMMERCIAL USE ONL

2012/2/25 Maxim D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 25, 2012, 3:06am UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/9 "2012-02-25T03:06:56Z")

</div>

Hello!

On Sat, Feb 25, 2012 at 02:22:36PM +1300, Ryan B. wrote:

> Copyright (C) 1985-2012 Intel Corporation. All rights reserved.  
> Could you please show “icc -v” and “icc -V” output?

[…]

> ```
> ^
> 
> ```

Note: this is _not_ original nginx code. There is no “(bool)”  
cast in nginx here, just plain assignment.

With original code you’ll get “error #188: enumerated type mixed  
with another type” as in your previous message, and this warning  
is expected to be disabled with icc, see auto/cc/icc:

…

# enumerated type mixed with another type

CFLAGS=“$CFLAGS -wd188”  
…

> from a ./configure
> 
> [root@bob:~/trunk]# ./configure  
> checking for OS
> 
> - Linux 3.2.5-ck1 i686  
> checking for C compiler … found
> - using GNU C compiler
> - gcc version: 4.6.0 compatibility)

It looks like newer icc pretend to be compatible with gcc  
somewhere in “icc -v” output, and nginx incorrectly mishandles it  
as gcc as a result.

Something like this should help:

diff --git a/auto/cc/name b/auto/cc/name  
— a/auto/cc/name  
+++ b/auto/cc/name  
@@ -64,16 +64,16 @@ if [“$CC” = bcc32]; then  
echo " + using Borland C++ compiler"

else  
+if `$CC -V 2>&1 | grep '^Intel(R) C' >/dev/null 2>&1`; then

- NGX\_CC\_NAME=icc
- echo " + using Intel C++ compiler"
- 

+else  
if `$CC -v 2>&1 | grep 'gcc version' >/dev/null 2>&1`; then  
NGX\_CC\_NAME=gcc  
echo " + using GNU C compiler"

else  
-if `$CC -V 2>&1 | grep '^Intel(R) C' >/dev/null 2>&1`; then

- NGX\_CC\_NAME=icc
- echo " + using Intel C++ compiler"
- 

-else  
if `$CC -V 2>&1 | grep 'Sun C' >/dev/null 2>&1`; then  
NGX\_CC\_NAME=sunc  
echo " + using Sun C compiler"

Alternatively, you may set CFLAGS in the environment yourself,  
this will prevent nginx from setting them by it’s own. Something  
like

CFLAGS=“-W -g” ./configure

should work.

> But when it comes to compiling it uses icc (as above), the machine  
> does have gcc-4.6 installed also
> 
> I didn’t see any error messages in auto/cc/icc, I did noticed it  
> reference icc up to 11.x but not 12?

We don’t generally use icc, though occasionally check compilation  
if found one available. There were no tests with 12.x yet, though  
it’s likely will be ok once correctly detected.

Maxim D.

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 25, 2012, 2:02pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/10 "2012-02-25T14:02:05Z")

</div>

Generally speaking, we (nginx team) will be grateful for an access to a  
host with Intel compiler suit (Intel Parallel Studio XE or Composer  
XE) with an appropriate license there.

Or perhaps someone has a right contact in Intel to talk about that.

On 2/25/12 8:28 AM, Ryan B. wrote:

> > > else +if `$CC -V 2>&1 | grep '^Intel(R) C'>/dev/null 2>&1`;
> 
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ nginx mailing  
> list [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)

–  
Maxim K.  
+7 (910) 4293178

> **[F5 NGINX: Built for cloud-native apps. Ready for AI traffic.](https://www.f5.com/products/nginx)**
>
> Deliver modern applications with NGINX. Explore high-performance load balancing, API gateways, and web server solutions trusted by top global enterprises.

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 25, 2012, 2:57pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/11 "2012-02-25T14:57:07Z")

</div>

You’re free to download/install the icc, Installs /opt/intel by default.

> **[Development Tools](https://www.intel.com/content/www/us/en/developer/tools/overview.html)**
>
> Search for development software and tools from Intel the way you want.

But looking at the suggested patch, it looks safe? just changing the  
order?

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 25, 2012, 5:29am UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/12 "2012-02-25T05:29:29Z")

</div>

Okay, it managed to compile with your suggested patch, its safe to  
push into trunk 🙂

nginx-dev+openssl-dev compiled under icc and working

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 29, 2012, 3:18pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/13 "2012-02-29T15:18:47Z")

</div>

Yep, icc is free to download.

> **[Intel® oneAPI Toolkit: Essential oneAPI Tools & Libraries](https://www.intel.com/content/www/us/en/developer/tools/oneapi/oneapi-toolkit.html)**
>
> Develop performant, parallel applications across diverse architectures with this foundational set of optimized tools, libraries, and the DPC++ language.

# Intel C++ Compiler (ICC)

# 

* * *

# 

> **[Intel® MPI Library](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html)**
>
> Included as part of the Intel® oneAPI HPC Toolkit, use this for complex HPC applications based on Intel® processors.

# 

[http://web.eecs.utk.edu/~lucio/pet/compilerguides/intel-compiler-guide.htm](http://web.eecs.utk.edu/~lucio/pet/compilerguides/intel-compiler-guide.htm)

# ICC - From +10% (PHP) to +150% (MySQL)

# -

[http://www.mysqlperformanceblog.com/files/presentations/LinuxWorld2005-Intel.pdf](http://www.mysqlperformanceblog.com/files/presentations/LinuxWorld2005-Intel.pdf)

# -

[http://blog.mudy.info/2009/02/speedup-mysql-and-webserver-with-intel-compiler-and-tcmalloc/](http://blog.mudy.info/2009/02/speedup-mysql-and-webserver-with-intel-compiler-and-tcmalloc/)

# -

[http://mysqlha.blogspot.com/2009/01/double-sysbench-throughput-with\_18.html](http://mysqlha.blogspot.com/2009/01/double-sysbench-throughput-with_18.html)

# C : icc -fast

# C++ : icpc -fast

# Fortran : ifort -fast

# Documentation :

/home/intel/l\_ccompxe\_intel64\_2011.8.273/Documentation/en\_US/documentation\_c.htm

# Videos : [www.intel.com/software/products](http://www.intel.com/software/products)

# Support account :

> **[Intel Registration Center - USER PORTAL](https://lemcenter.intel.com/404/)**

#sudo cp -fr /www/l\_ccompxe\_intel64\_2011.8.273.tgz  
/usr/local/src/l\_ccompxe\_intel64\_2011.8.273.tgz

# cd /usr/local/src

# sudo rm -fr l\_ccompxe\_intel64\_2011.8.273

# sudo wget -O l\_ccompxe\_intel64\_2011.8.273.tgz

“[http://www.denistruffaut.com/downloads/l\_ccompxe\_intel64\_2011.8.273.tgz](http://www.denistruffaut.com/downloads/l_ccompxe_intel64_2011.8.273.tgz)”

# sudo tar -xvzf l\_ccompxe\_intel64\_2011.8.273.tgz

# sudo rm -fr l\_ccompxe\_intel64\_2011.8.273.tgz

# cd l\_ccompxe\_intel64\_2011.8.273

# sudo ./install.sh && cd /usr/local/src

# sudo rm -fr l\_ccompxe\_intel64\_2011.8.273

Posted at Nginx Forum:  
[http://forum.nginx.org/read.php?2,222843,223135#msg-223135](http://forum.nginx.org/read.php?2,222843,223135#msg-223135)

---

<div class="post-metadata">

**Author:** ![stimpy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/779978/32.png) [@stimpy](https://www.ruby-forum.com/u/stimpy)\
**Post date:** [February 29, 2012, 3:25pm UTC](https://www.ruby-forum.com/t/using-nginx-1-1-with-the-intel-compiler/217141/14 "2012-02-29T15:25:35Z")

</div>

Hello!

On Wed, Feb 29, 2012 at 09:17:55AM -0500, DenisTRUFFAUT wrote:

> Yep, icc is free to download.
> 
> [http://software.intel.com/en-us/articles/non-commercial-software-download/](http://software.intel.com/en-us/articles/non-commercial-software-download/)

Intel’s license FAQ clearly states that non-commercial version  
can’t be used even for free open-source products if one provide  
paid technical support:

> **[Intel® oneAPI Toolkit: Essential oneAPI Tools & Libraries](https://www.intel.com/content/www/us/en/developer/tools/oneapi/oneapi-toolkit.html)**
>
> Develop performant, parallel applications across diverse architectures with this foundational set of optimized tools, libraries, and the DPC++ language.

That is, we can’t use it.

Maxim D.
