
Acabo de instalar el pasajero por:
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
Luego editado /etc/apt/sources.list
y agregado:
deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Entonces apt-get update
y .cd /var/tmp
apt-get source nginx
Agregado --add-module=/usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/src/nginx_module \
en debian\rules
el lugar correcto.
El problema surge al compilar nginx con soporte para módulo de pasajero:
apt-get build-dep nginx
dpkg-buildpackage -b
-Wl,-Bfunciones-simbólicas -Wl,-z,relro -Wl,-z,now -Wl,--según sea necesario -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/gems/ ruby-2.4.0/gems/passenger-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 \ -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: reubicación R_X86_64_32 contra `.bss ' no se puede utilizar al crear un objeto compartido; recompilar con -fPIC /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/buildout/common/libpassenger_common/Logging.o: error al agregar símbolos: valor incorrecto Collect2: error: ld devolvió 1 estado de salida objs/Makefile:344: la receta para el objetivo 'objs/nginx' falló hacer[2]: *** [objs/nginx] Error 1 make[2]: Saliendo del directorio '/var/tmp/t/nginx-1.10.3/debian/build-nginx' Makefile:8: la receta para la 'compilación' del objetivo falló hacer[1]: *** [compilación] Error 2 make[1]: Saliendo del directorio '/var/tmp/t/nginx-1.10.3/debian/build-nginx' debian/rules:60: la receta para el objetivo 'build-arch.nginx' falló hacer: *** [build-arch.nginx] Error 2 dpkg-buildpackage: error: la compilación de Debian/rules dio un estado de salida de error 2
Esta es la salida de passenger-config --nginx-addon-dir
:
/usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/src/nginx_module
Lo curioso es que si intento compilar nginx desde la fuente, passenger-install-nginx-module
todo funciona bien.
De todos modos, ¿alguien sabe cómo puedo solucionar este problema? Para mí, compilar nginx siguiendo el procedimiento mencionado es imprescindible. Me gustaría poder seguir el procedimiento anterior mientras soluciono el problema.
Gracias :)
Respuesta1
Finalmente edité /usr/local/rvm/gems/ruby-2.4.0/gems/passenger-5.1.2/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb
y reemplacé esta línea flags << "-fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED"
por flags << "-fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -fPIC"
. Luego compiló el pasajero ejecutando el comando rake anterior, env NOEXEC_DISABLE=1 /usr/local/rvm/gems/ruby-2.4.0/wrappers/rake nginx:clean nginx RELEASE=yes
.