我正在尝试手动编译我的 php iconv 扩展,以便它使用 libiconv 而不是 glibc。我下载了 libiconv,并使用 进行配置./configure --prefix=/usr/local
,make
然后sudo make install
。
我有一个 php 版本 5.6.10,它是使用 phpbrew 安装的,所以我从步骤#3开始。
在步骤#5(make
)中,我遇到了以下错误:
/usr/bin/ld: ext/standard/.libs/image.o: undefined reference to symbol 'uncompress'
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
您知道如何解决这个问题吗?非常感谢。
答案1
我通过编辑Makefile
并添加-lz
来解决这个问题EXTRA_LIBS
。
Makefile
在目录中查找php
。- 搜索
EXTRA_LIBS
。 - 添加
-lz
标志。
该解决方案基于kevinf 的回答到奇怪的链接错误:命令行中缺少 DSO在 Stack Overflow 上。