Fehler beim Kompilieren von Nginx mit Passagierunterstützung

0

Ich habe gerade Passenger installiert von:

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 tritt beim Kompilieren von Nginx mit Passenger-Modul-Unterstützung auf:

apt-get build-dep nginx
dpkg-buildpackage -b
-Wl, -Bsymbolic-Funktionen -Wl, -z, relro -Wl, -z, jetzt -Wl, - nach 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 / 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 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 / 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 / edelsteine ​​/ rubin-2.4.0 / edelsteine ​​/ 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/ 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: Umzug R_X86_64_32 gegen `.bss 'kann nicht verwendet werden, wenn ein gemeinsames Objekt erstellt wird; neu kompilieren mit -fPIC
/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: Falscher Wert
collect2: error: ld hat 1 Exit-Status zurückgegeben
objs / makefile: 344: Rezept für Ziel 'objs / nginx' 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 Ziel 'Build' fehlgeschlagen
make [1]: *** [build] Fehler 2
make [1]: Verzeichnis '/var/tmp/t/nginx-1.10.3/debian/build-nginx' verlassen
debian / rules: 60: Das Rezept für das Ziel 'build-arch.nginx' ist fehlgeschlagen
make: *** [build-arch.nginx] Fehler 2
dpkg-buildpackage: error: debian / rules build hat den Fehler-Exit-Status 2 ausgegeben

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 Neugierige ist, wenn ich versuche, Nginx von der Quelle durch passenger-install-nginx-modulealles zu kompilieren, funktioniert gut.

Weiß jemand, wie ich dieses Problem beheben kann? Für mich ist das Kompilieren von Nginx nach dem oben genannten Verfahren ein Muss. Ich möchte in der Lage sein, das obige Verfahren zu befolgen, während ich das Problem behebe.

Vielen Dank :)

user846226
quelle

Antworten:

0

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 kompilierter Passagier durch Ausführen des vorherigen Rake-Befehls env NOEXEC_DISABLE=1 /usr/local/rvm/gems/ruby-2.4.0/wrappers/rake nginx:clean nginx RELEASE=yes.

user846226
quelle