ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re: не собирается на одной машине .....



On Wed, 22 Feb 2006, Michail Baikov wrote:

Igor Sysoev wrote:
On Tue, 21 Feb 2006, Michail Baikov wrote:

Igor Sysoev wrote:
On Tue, 21 Feb 2006, Michail Baikov wrote:

gcc -c -march=i686 -O2 -fomit-frame-pointer -pipe  -I src/core -I
src/event -I src/event/modules -I src/os/unix -I objs        -o objs/src/core/ngx_cpuinfo.o        src/core/ngx_cpuinfo.c
src/core/ngx_cpuinfo.c: In function `ngx_cpuinfo':
src/core/ngx_cpuinfo.c:22: error: can't find a register in class `BREG'
while reloading `asm'
src/core/ngx_cpuinfo.c:22: error: can't find a register in class `BREG'
while reloading `asm'
make[1]: *** [objs/src/core/ngx_cpuinfo.o] Error 1
make[1]: Leaving directory
`/var/tmp/portage/nginx-0.3.29/work/nginx-0.3.29'
make: *** [build] Error 2

!!! ERROR: www-servers/nginx-0.3.29 failed.

OS
gcc -v
as -v

Как и везде :)

Linux/i386
www ~ # gcc -v
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/specs
Configured with: /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/configure
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.4
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4/info
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3

--host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec
--enable-nls --without-included-gettext --with-system-zlib
--disable-checking --disable-werror --disable-libunwind-exceptions
--disable-multilib --disable-libgcj --enable-languages=c,c++
--enable-shared --enable-threads=posix --enable-__cxa_atexit
--enable-clocale=gnu
Thread model: posix
gcc version 3.4.4 (Gentoo Hardened 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)
www ~ # as -v
GNU assembler version 2.16.1 (i686-pc-linux-gnu) using BFD version 2.16.1

На другой такой же машине все собирается. Тут апгрейд с .26 не проходит.

Есть ощущение, что здесь как-то пояивлся -fPIC, но его нигде не видно.

Да нет - он тут может быть даже и был - машина то hardened. Но раньше

А что такое hardened ?

все собиралось - 26 версия стоит и работает нормально.....

В 0.3.27 появилось:

    *) Добавление: определение размера строки кэша распространённых
       процессоров при старте.

До этого не было. В ngx_cpuinfo() вставляется ассемблерный код cpuid,
который использует регистр ebx, а gcc использует этот же регистр для своих
целей, если используется -fPIC код.


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.