Fehler beim Kompilieren von Nginx mit Passagierunterstützung

498
user846226

Ich habe gerade Passagier von installiert:

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 

Dann bearbeitet /etc/apt/sources.listund hinzugefügt:

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

Dann apt-get update, cd /var/tmpund apt-get source nginx. Hinzugefügt --add-module=/usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/src/nginx_module \zu debian\rulesan der richtigen Stelle.

Das Problem entsteht beim Kompilieren von Nginx mit Unterstützung für Passagiermodule

apt-get build-dep nginx dpkg-buildpackage -b 
-Wl, -Bsymbol-Funktionen -Wl, -z, relro -Wl, -z, jetzt -Wl, - bei Bedarf -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 / 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 / Rubin-2.4.0 / Edelsteine ​​/ Passagier-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 / Passagier-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 / Passagier-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/ Passagier-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 / Passagier-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/ Passagier-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 / Passagier-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 / rvm / gems / ruby-2.4.0 / gems / Passagier-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 / rvm / gems / ruby-2.4.0 / gems / Passagier-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: Umzug R_X86_64_32 gegen `.bss 'kann nicht verwendet werden, wenn ein gemeinsames Objekt erstellt wird; mit -fPIC neu kompilieren /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Logging.o: Fehler beim Hinzufügen von Symbolen: Ungültiger Wert collect2: error: ld gab 1 Exit-Status zurück objs / Makefile: 344: Rezept für Ziel 'objs / nginx' ist fehlgeschlagen make [2]: *** [objs / nginx] Fehler 1 make [2]: Verzeichnis "/var/tmp/t/nginx-1.10.3/debian/build-nginx" verlassen Makefile: 8: Rezept für 'build' des Ziels ist fehlgeschlagen make [1]: *** [build] Fehler 2 make [1]: Verzeichnis "/var/tmp/t/nginx-1.10.3/debian/build-nginx" verlassen debian / rules: 60: Rezept für 'build-arch.nginx' ist fehlgeschlagen make: *** [build-arch.nginx] Fehler 2 dpkg-buildpackage: Fehler: Debian / Rules-Build gab den Fehler-Exit-Status 2 

Dies ist die Ausgabe von passenger-config --nginx-addon-dir:

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

Das Merkwürdige ist, wenn ich versuche, Nginx aus dem Quellcode zu kompilieren, damit passenger-install-nginx-modulealles gut funktioniert.

Weiß jemand sowieso, wie ich dieses Problem beheben könnte? Nginx zu kompilieren, ist für mich ein Muss. Ich möchte das obige Verfahren befolgen, um das Problem zu beheben.

Vielen Dank :)

0

1 Antwort auf die Frage

0
user846226

Schließlich bearbeiten i /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rbund ersetzt diese Zeile flags << "-fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED"durch flags << "-fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -fPIC". Dann wurde der Passagier durch Ausführen des vorherigen Rake-Befehls kompiliert env NOEXEC_DISABLE=1 /usr/local/rvm/gems/ruby-2.4.0/wrappers/rake nginx:clean nginx RELEASE=yes.