Есть сервер на базе Ubuntu 9.10. Пытаюсь установить на него nginx-1.0.1. Да, я знаю что можно установить через
apt-get install nginx, но мне нужно именно через компилирование. Опциии
./configure:
--with-pcre=/root/pcre-8.12 \
--error-log-path=/var/log/nginx.error.log \
--http-log-path=/var/log/nginx.access.log \
--user=www \
--group=www \
--with-zlib=/root/zlib-1.2.5 \
--with-openssl=/root/openssl-1.0.0d \
--with-http_ssl_module
Конфигурирование проходит нормально, никаких ошибок не выдаёт. Далее ввожу команду
make, начинается создание объектных файлов и в конце он выдаёт:
In file included from /usr/include/features.h:378,
from /usr/include/stdlib.h:25,
from cryptlib.h:62,
from cryptlib.c:117:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory
make[3]: *** [cryptlib.o] Error 1
make[3]: Leaving directory `/root/openssl-1.0.0d/crypto'
make[2]: *** [build_crypto] Error 1
make[2]: Leaving directory `/root/openssl-1.0.0d'
make[1]: *** [/root/openssl-1.0.0d/.openssl/include/openssl/ssl.h] Error 2
make[1]: Leaving directory `/root/nginx-1.0.1'
make: *** [build] Error 2
Т.е. он не может найти файл
stubs-64.h. Гугление показывает, что это файл из
glibc-devel, который для Ubuntu называется
libc6-dev. Делаю
apt-get install libc6-dev, он отвечает, что он у меня уже самой последней версии.
Пробовал также в опции конфигурирования добавить строку:
--with-cc-opt="-m32 -march=i386"
но результат абсолютно тот же. Делал так же
apt-get install gcc, apt-get install g++, чтобы устранить все зависимости — не помогло.
Где искать этот файл?UPDATE: проблема решилась через установку
apt-get install libc6-dev-amd64, но теперь после долгого «make» он выдаёт мне:
/usr/bin/ld: i386:x86-64 architecture of input file `/root/openssl-1.0.0d/.openssl/lib/libcrypto.a(bio_asn1.o)' is incompatible with i386 output
/usr/bin/ld: final link failed: Invalid operation
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/root/nginx-1.0.1'
make: *** [build] Error 2