Welcome! Log In Create A New Profile

Advanced

Re: Nginx and libatomic

Igor Sysoev
December 06, 2009 03:28AM
On Sun, Dec 06, 2009 at 02:28:50AM -0500, pcdinh wrote:

> I tried to configure nginx 0.8.29 with libatomic 1.2 (manually built and installed) by specifying
>
> --with-libatomic=/usr/local/lib
> (=> /usr/local/lib/libatomic_ops.a)

In this case you should use just
--with-libatomic

You should see

checking for atomic_ops library ... found

> OR
>
> --with-libatomic=../libatomic_ops-1.2
> (=> source code only)
>
> but nginx shows no information to indicate if that configuration works or not

Yes, now ./configure does not show this, I need to fix it.

> --------------------------------
>
> checking for OS
> + Linux 2.6.18-164.el5PAE i686
> checking for C compiler ... found
> + using GNU C compiler
> + gcc version: 4.1.2 20080704 (Red Hat 4.1.2-46)
> checking for gcc -pipe switch ... found
> checking for gcc builtin atomic operations ... not found
> checking for gcc variadic macros ... found
> checking for C99 variadic macros ... found

> checking for OpenSSL library ... found
> checking for zlib library ... found
> checking for perl
> + perl version: v5.8.8 built for i386-linux-thread-multi
> + perl interpreter multiplicity found
> creating objs/Makefile

> Configuration summary
> + using PCRE library: /usr/local/src/pcre-8.00
> + using system OpenSSL library
> + md5: using OpenSSL library
> + using sha1 library: auto/lib/sha1
> + using system zlib library
>
> nginx path prefix: "/usr/local/nginx"
> nginx binary file: "/usr/local/sbin/nginx"
> nginx configuration prefix: "/usr/local/nginx"
> nginx configuration file: "/usr/local/nginx/nginx.conf"
> nginx pid file: "/usr/local/nginx/nginx.pid"
> nginx error log file: "/usr/local/nginx/logs/error.log"
> nginx http access log file: "/usr/local/nginx/logs/access.log"
> nginx http client request body temporary files: "/usr/local/nginx/temp/client_body"
> nginx http proxy temporary files: "/usr/local/nginx/temp/proxy"
> nginx http fastcgi temporary files: "/usr/local/nginx/temp/fastcgi"
>
> The warning "checking for gcc builtin atomic operations ... not found" shows that my default compiler gcc 4.1.2 20080704 does not support atomic operations. I tried to configure CC=gcc44 CXX=g++44 to tell Nginx use newer GCC44 but it seems to ignore it.
>
> Am I doing wrong here?

The gcc built-in atomic operations on x86 (but not on x86-64) are available
only if -march=-486 or higher is set. You should add either
--with-cc-opt="-march=pentiumpro"
or
--with-cpu-opt=pentiumpro

However, you should not worry about this, since nginx uses own atomic
operations implementation on x86 anyway. As well as on amd64, sparc32/64,
and ppc32/64. gcc atomic support and libatomic are required for other
platforms.


--
Igor Sysoev
http://sysoev.ru/en/

_______________________________________________
nginx mailing list
nginx@nginx.org
http://nginx.org/mailman/listinfo/nginx
Subject Author Posted

Nginx and libatomic

pcdinh December 06, 2009 02:28AM

Re: Nginx and libatomic

Igor Sysoev December 06, 2009 03:28AM

Re: Nginx and libatomic

dyadaval July 19, 2018 10:57PM

Re: Nginx and libatomic

Maxim Dounin July 20, 2018 07:22AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 221
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready