/lib/x86_64-linux-gnu/libz.so.1:无法读取符号:无效操作

/lib/x86_64-linux-gnu/libz.so.1:无法读取符号:无效操作

我在 VMware 中安装了 Ubuntu Desktop 13.10 64 位。

make我正在尝试在机器上编译 PHP 5.4.14。以下是由于错误而停止的位置:

/usr/bin/ld: ext/mysqlnd/.libs/mysqlnd_net.o: undefined reference to symbol 'uncompress'
/usr/bin/ld: note: 'uncompress' is defined in DSO /lib/x86_64-linux-gnu/libz.so.1 so try adding it to the linker command line
/lib/x86_64-linux-gnu/libz.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

我在 12.10 32 位 VM 上编译并构建了相同版本的 php,并且它似乎运行正常。

zlib1g zlib1g-dev我已检查并安装完毕zlibc。可能存在什么问题?

答案1

--with-libdir=lib64make clean应该可以解决问题。我认为您忘记在添加--with-libdir配置之后和之前执行make compile。我刚刚使用 编译了 php 版本 5.5.2 phpfarm,最初在使用 时遇到了您描述的相同问题--with-mysqli=mysqlnd。添加--with-libdir=lib64ANDmake clean解决了该问题。

相关内容