Задать вопрос

Не получается запустить ./configure для nginx

Пытаюсь установить nginx-1.2.3:

1) wget www.nginx.org/download/nginx-1.2.3.tar.gz
2) tar xzvf nginx-*
3) cd nginx-*

4) ./configure выдаёт следующее:

checking for OS
+ Linux 3.0.0-24-generic i686
checking for C compiler ... not found
./configure: error: C compiler gcc is not found


Хотя gcc установлен:

/tmp/nginx-1.2.3$ gcc -v
Используются внутренние спецификации.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6.1/lto-wrapper
Целевая архитектура: i686-linux-gnu
Параметры конфигурации: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Модель многопоточности: posix
gcc версия 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) 



В чём может быть проблема?

Можно конечно установить apt-get install nginx — но тогда как мне включить/отключить определенные модули. Может кто подскажет?
  • Вопрос задан
  • 12052 просмотра
Подписаться 3 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 6
ilyaplot
@ilyaplot
PHP программист
Используя make install, вы автоматически создаете себе проблемы. Делайте .deb и ставьте в случае, если нет в apt. А вообще

sysadmin@Gateway18:~$ apt-cache search nginx
collectd-core - statistics collection and monitoring daemon (core system)
fcgiwrap - simple server to run CGI applications over FastCGI
gitweb - fast, scalable, distributed revision control system (web interface)
gunicorn - Event-based HTTP/WSGI server
libplack-middleware-file-sass-perl - Sass and SCSS support for all Plack-based P                                                                                        SGI frameworks
nginx - small, but very powerful and efficient web server and mail proxy
nginx-common - small, but very powerful and efficient web server (common files)
nginx-doc - small, but very powerful and efficient web server (documentation)
nginx-extras - nginx web server with full set of core modules and extras
nginx-extras-dbg - Debugging symbols for nginx (extras)
nginx-full - nginx web server with full set of core modules
nginx-full-dbg - Debugging symbols for nginx (full)
nginx-light - nginx web server with minimal set of core modules
nginx-light-dbg - Debugging symbols for nginx (light)
nginx-naxsi - nginx web server with naxsi 0.44 included
nginx-naxsi-dbg - Debugging symbols for nginx (naxsi)
stud - scalable TLS unwrapping daemon
uwsgi-extra - fast, self-healing application container server (extra files)
Ответ написан
@Vampiro
imho пользуясь apt-get можно и модули установить. На крайняк соберете отдельно модули. Зачем мейкить, если есть коровья суперсила?
Ответ написан
kwinch
@kwinch
Недавно сам ставил nginx на сервере с Ubuntu 12.04 и также столкнулся с необходимостью добавления нестандартных модулей.
Решение нашел на serverfault.
После использования предлагаемого метода в систему будет установлен nginx с использованием apt-get (т.е. система будет в курсе, что в нее установлен nginx).

Для начала необходимо установить инструменты для сборки пакетов deb:
sudo apt-get install dpkg-dev


Также нужно добавить репозиторий nginx, чтобы иметь доступ к последним версиям сервера:
sudo add-apt-repository ppa:nginx/stable


После добавления репозитория необходимо руками добавить репозиторий с исходниками в файле /etc/apt/sources.list.d/nginx-stable-lucid.list:


Для обновления списка пакетов с учетом новых репозиториев выполняем:
sudo apt-get update


Это были приготовления. Дальше собственно сборка nginx с необходимыми модулями.

Перейдите в папку,, куда хотите скачать исходники nginx и выполните:
apt-get source nginx


Соберите зависимости nginx:
sudo apt-get build-dep nginx


В ту же папку, куда были скачаны исходники nginx, скачиваете нужные модули и добавляете ссылки на них в строку конфигурации nginx в файле <директория с исходниками nginx>/nginx-1.2.3/debian/rules:
config.status.full: config.env.full config.sub config.guess
...
--add-module=path/to/nginx_uploadprogress_module


После этого собираем пакет(ы):
cd nginx-1.2.3 && dpkg-buildpackage -b


Примечание: В результате будут собраны несколько пакетов, как это указано в debian/rules. Устанавливать нужно только один, тот, что full (см. ниже).

Устанавливаем nginx:
sudo dpkg -i nginx-full_1.2.3-0ubuntu0ppa3~precise_amd64.deb


Хоть и выглядит устрашающе, на второй-третий раз уже на автомате.

Примечание: Если после использования этого способа сделать apt-get upgrade, то nginx переставится с дефолтным конфигом. Будьте внимательны.
Ответ написан
Комментировать
pentarh
@pentarh
1. Узнайте путь до gcc:
# which gcc
2. Пропишите его явно:
# CC=/path/to/gcc ./configure --blah-blah-blah
3. ???
4. PROFIT!
Ответ написан
gricom
@gricom
добавьте симлинк на gcc в /usr/bin, чтоб каждый раз не прописывать путь
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Расскажите нам нахрена вы его собираете из исходников, и нахрена вы php собираете из исходников, gcc вы тоже собрали из исходников 8)?
Все в целом ставится из apt-get install или aptitude install.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы