Ошибка компиляции nginx с поддержкой пассажиров

395
user846226

Я только что установил пассажира:

gem install passenger cd /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2 env NOEXEC_DISABLE=1 /usr/local/rvm/gems/ruby-2.4.0/wrappers/rake nginx:clean nginx RELEASE=yes 

Затем отредактировал /etc/apt/sources.listи добавил:

deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx 

Тогда apt-get update, cd /var/tmpи apt-get source nginx. Добавлено --add-module=/usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/src/nginx_module \в debian\rulesв нужном месте.

Проблема возникает при компиляции nginx с поддержкой пассажирского модуля:

apt-get build-dep nginx dpkg-buildpackage -b 
-Wl, -Bsymbolic-функции -Wl, -z, relro -Wl, -z, теперь -Wl, - по мере необходимости -pie -ldl -lpthread -lpthread -lcrypt /var/tmp/ngx_pagespeed-1.12.34.2- beta / psol / lib / Release / linux / x64 / pagespeed_automatic.a -lstdc ++ -lrt -pthread -lm -lexpat /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/ common / libpassenger_common / Logging.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Exceptions.o / usr / local / rvm / gems / ruby- 2.4.0 / gems / passenger-5.1.2 / buildout / common / libpassenger_common / Utils / SystemTime.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/ libpassenger_common / Utils / StrIntUtils.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Utils/StrIntUtilsNoStrictAliasing.o / usr / local / rvm рубиново-2.4.0 / драгоценные камни / пассажиро-5,1.2 / buildout / common / libpassenger_common / Utils / IOUtils.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Utils.o / usr / local / rvm / gems / ruby-2.4.0 / gems / passenger-5.1.2 / buildout / common / libpassenger_common / WatchdogLauncher.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/ buildout / common / libpassenger_common / AppTypes.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Utils/CachedFileStat.o / usr / local / rvm / gems / ruby-2.4.0 / gems / passenger-5.1.2 / buildout / common / libpassenger_common / UnionStationFilterSupport.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/ common / libboost_oxt.a -lstdc ++ -lpthread -lm -lrt -lpcre -lssl -lcrypto -ldl -lz -lGeoIP \o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/WatchdogLauncher.o /usr/local/rvm/gems/ruby-2.4.0/gems/ passenger-5.1.2 / buildout / common / libpassenger_common / AppTypes.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Utils/CachedFileStat.o / usr / local / rvm / gems / ruby-2.4.0 / gems / passenger-5.1.2 / buildout / common / libpassenger_common / UnionStationFilterSupport.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger- 5.1.2 / buildout / common / libboost_oxt.a -lstdc ++ -lpthread -lm -lrt -lpcre -lssl -lcrypto -ldl -lz -lGeoIP \o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/WatchdogLauncher.o /usr/local/rvm/gems/ruby-2.4.0/gems/ passenger-5.1.2 / buildout / common / libpassenger_common / AppTypes.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Utils/CachedFileStat.o / usr / local / rvm / gems / ruby-2.4.0 / gems / passenger-5.1.2 / buildout / common / libpassenger_common / UnionStationFilterSupport.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger- 5.1.2 / buildout / common / libboost_oxt.a -lstdc ++ -lpthread -lm -lrt -lpcre -lssl -lcrypto -ldl -lz -lGeoIP \2 / buildout / common / libpassenger_common / Utils / CachedFileStat.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/UnionStationFilterSupport.o / usr / local / rvm / gems / ruby-2.4.0 / gems / passenger-5.1.2 / buildout / common / libboost_oxt.a -lstdc ++ -lpthread -lm -lrt -lpcre -lssl -lcrypto -ldl -lz -lGeoIP \2 / buildout / common / libpassenger_common / Utils / CachedFileStat.o /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/UnionStationFilterSupport.o / usr / local / rvm / gems / ruby-2.4.0 / gems / passenger-5.1.2 / buildout / common / libboost_oxt.a -lstdc ++ -lpthread -lm -lrt -lpcre -lssl -lcrypto -ldl -lz -lGeoIP \ -Wl, -E /usr/bin/ld.bfd.real: /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Logging.o: перемещение R_X86_64_32 против `.bss не может использоваться при создании общего объекта; перекомпилировать с -fPIC /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Logging.o: ошибка при добавлении символов: неверное значение collect2: error: ld вернул 1 состояние выхода objs / Makefile: 344: рецепт для цели 'objs / nginx' не удался make [2]: *** [objs / nginx] Ошибка 1 make [2]: выход из каталога '/var/tmp/t/nginx-1.10.3/debian/build-nginx' Makefile: 8: рецепт для цели 'build' не удался make [1]: *** [build] Ошибка 2 make [1]: выход из каталога '/var/tmp/t/nginx-1.10.3/debian/build-nginx' debian / rules: 60: рецепт для цели build-arch.nginx не удался make: *** [build-arch.nginx] Ошибка 2 dpkg-buildpackage: ошибка: сборка debian / rules выдает ошибку выхода из состояния 2 

Это результат passenger-config --nginx-addon-dir:

/usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/src/nginx_module 

Любопытно, что если я пытаюсь скомпилировать nginx из исходного кода, passenger-install-nginx-moduleвсе работает нормально.

В любом случае, кто-нибудь знает, как я могу решить эту проблему? Для меня компиляция nginx после указанной процедуры является обязательной. Я хотел бы иметь возможность следовать вышеописанной процедуре при устранении проблемы.

Спасибо :)

0

1 ответ на вопрос

0
user846226

Наконец я отредактировал /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rbи заменил эту строку flags << "-fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED"на flags << "-fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -fPIC". Затем составляется пассажира, выполнив предыдущую команду грабли, env NOEXEC_DISABLE=1 /usr/local/rvm/gems/ruby-2.4.0/wrappers/rake nginx:clean nginx RELEASE=yes.

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