我只是报告。 我试图在Amazon Linux上构buildlibpng(基于Red Hat)时遇到了一个问题。 但我有以下错误:
libtool: link: gcc -g -O2 -o .libs/pngfix contrib/tools/pngfix.o ./.libs/libpng16.so -lz -lm ./.libs/libpng16.so: undefined reference to `inflateValidate' collect2: error: ld returned 1 exit status
我检查了环境variables,他们正常设置。 nm工具显示inflateValidate是在zlib库中导出的。 我希望我的解决scheme(见下文)能帮助别人,节省时间。
解决方法是将LDDFLAGS添加到./configure :
./configure --prefix=/usr LDFLAGS="-L/usr/lib -lz"
这解决了这个问题。
运行在64位的Lubuntu 16-04上,我的解决scheme是指定zlib库的path。
首先,build立zlib库:
./configure \ --prefix=/home/stephane/programs/install make make install make clean
然后,通过使用--with-zlib-prefix选项指定依赖关系来构buildlibpng库:
./configure \ --prefix=/home/stephane/programs/install \ --with-zlib-prefix=/home/stephane/programs/install make make install make clean