をコンパイルしようとしていますlibpngが、これにはlibz. libz.so.1所有者を自宅にインストールして設定しましたが、 の出力ではまだ を使用しているLD_LIBRARY_PATHため、結果は得られません。ldd/usr/local/lib/libz.so.1
そして、make の出力は "-L/home/zlib -lz" のように表示されます。なんで?
/home/mylibs/libz.soおそらく、 からへのシンボリック リンクが必要です/home/mylibs/libz.so.1。
-lzは を検索しますが、は検索しlibz.soないことに注意してください。そのlibz.so.1ため、リンカは検索を続け、 でそのようなリンクを見つけます/usr/local/lib。
それ以外に、実行可能ファイルのヘッダーに NEEDED エントリ (動的な依存関係を記録する) を次のように表示する必要があります。
$ objdump -x a.out | grep NEEDED
それらがフルパスで記録されているかどうかを確認するには、 aslibz.soまたは as libz.so.1.