【问题标题】:libpcre.so could not read symbols : Apache 2.4 installlibpcre.so 无法读取符号:Apache 2.4 安装
【发布时间】:2014-02-25 06:48:34
【问题描述】:

您好,我正在尝试在 linux 上安装 2.4: Linux el5 x86_64 x86_64 x86_64 GNU/Linux

“make install”后出现错误:

**/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

我正在执行的 config.nice:

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" \
"$@"

ldd: ldd /usr/local/lib/libpcre.so libc.so.6 => /lib64/libc.so.6 (0x00002b2ce3b82000) /lib64/ld-linux-x86-64.so.2 (0x0000003e1c800000)

文件: lrwxrwxrwx 1 root root 16 Jan 31 15:20 /usr/local/lib/libpcre.so -> libpcre.so.1.2.1

我无法弄清楚如何读取“无法读取符号”。我在 /lib/local 中配置了 pcre8.34。任何帮助,将不胜感激。谢谢!

【问题讨论】:

  • 您是否进行了 32 位 PCRE 编译?如果是这样,你是如何让它获取 CFLAGS 环境变量的?
  • 问题出在 32 位 C 编译器上。安装 glibc-devel.i386 解决了我的问题。

标签: pcre apache2.4


【解决方案1】:

您正在尝试安装 32 位(-m32 标志)版本的 Apache。尝试安装 64 位版本或安装 32 位版本的 libpcre。

【讨论】:

  • 我运行了 ./configure --enable-pcre32,它在 /usr/local/bin 中为 PCRE 创建了 32 位库。 apache 的仍然“make”正在获取 /usr/local/lib/libpcre.so 并再次抛出相同的错误。我是否需要先删除这些以便它 pics /usr/local/lib/libpcre32.so?
  • 您可能有一个 ./configure 选项,例如 --with-pcre=,您应该使用它来指示您的 32 位版本 libpcre 的完整路径。 BTW 为什么你想要一个 32 位版本的 Apache?
  • 好吧,我已经安装了一个 apache 2.2 32bit 并且想将它升级到 2.4。但是在我升级现有的之前,我想测试2.4的全新安装。我按照您提到的方式进行了更改,但是“make”查找 pcre-config 文件而不是 libpcre.so...一旦执行 pcre-config,它就会设置正确的库。现在,看起来 pcre-config 没有正确选择 32 位库,因为 CFLAG=-m32
猜你喜欢
  • 1970-01-01
  • 2018-02-01
  • 2016-06-25
  • 2016-03-11
  • 1970-01-01
  • 2012-01-26
  • 1970-01-01
  • 2014-01-07
  • 1970-01-01
相关资源
最近更新 更多