Necesito instalar Apache 2.4 versión de 32 bits en RHEL 5. No instalaré Apache de 64 bits porque la aplicación que se ejecuta en la máquina RHEL5 necesita Apache de 32 bits (o eso es lo que pienso debido al comportamiento anterior).
Recibo "no se pudieron leer los símbolos", lo make
que probablemente se deba a que las bibliotecas pcre son de ELF de 64 bits cuando la instalación espera que sean de ELF de 32 bits.
**/usr/local/lib/libpcre.so: could not read symbols: File in wrong format**
collect2: ld returned 1 exit status
make[1]: *** [httpd] Error 1
make[1]: Leaving directory `/opt/myapp/httpd-2.4.7'
make: *** [all-recursive] Error 1
La configuración para Apache 2.4 se ejecuta como:
CFLAGS="-m32"; export CFLAGS
LDFLAGS="-m32"; export LDFLAGS
"./configure" \
"--prefix=/opt/myapp/apache2.4" \
"--with-mpm=worker" \
"--enable-static-support" \
"--enable-ssl=static" \
"--enable-modules=most" \
"--disable-authndbd" \
"--disable-authn-dbm" \
"--disable-dbd" \
"--enable-static-logresolve" \
"--enable-static-rotatelogs" \
"--enable-proxy=static" \
"--enable-proxyconnect=static" \
"--enable-proxy-ftp=static" \
"--enable-proxy-http=static" \
"--enable-rewrite=static" \
"--enable-so=static" \
"--with-ssl=/opt/myapp/apache2.4/openssl" \
"--host=x86_32-unknown-linux-gnu" \
"host_alias=x86_32-unknown-linux-gnu" \
"CFLAGS=-m32" \
"LDFLAGS=-m32" \
"--with-included-apr" \
"--with-pcre=/usr/local" \
"$@"
He instalado PCRE sin ningún error usando:
./configure --prefix=/usr/local --enable-pcre32
Cuando hago pcretest aparece esto (¿Compilado con soporte de 8 bits?):
$ /usr/local/bin/pcretest -C
PCRE version 8.33 2013-05-28
Compiled with
8-bit support
No UTF-8 support
No Unicode properties support
No just-in-time compiler support
Newline sequence is LF
\R matches all Unicode newlines
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack
Pero cuando reviso las bibliotecas creadas (que se supone que admiten aplicaciones de 32 bits), obtengo ELF de 64 bits.
$ file libpcre32.so.0.0.1
libpcre32.so.0.0.1: **ELF 64-bit** LSB shared object, AMD x86-64, version 1 (SYSV), not stripped
Respuesta1
Su --enable_pcre32 configure
opción se refiere a la opción de 32 bits en pcre
sí misma (se puede habilitar para manejar versiones de expresiones regulares de 16 o 32 bits, ¿presumiblemente para cosas Unicode?)
Intente compilar pcre
con las -m32
opciones que utilizó en su configuración de Apache.