Untuk mengetahui apa yang dicari oleh tautan, jalankan dalam mode verbose.
Misalnya, saya mengalami masalah ini ketika mencoba mengkompilasi MySQL dengan dukungan ZLIB. Saya menerima kesalahan seperti ini selama kompilasi:
/usr/bin/ld: cannot find -lzlib
Saya melakukan beberapa Googl'ing dan terus menemukan masalah yang berbeda dari jenis yang sama di mana orang akan mengatakan untuk memastikan file .so benar-benar ada dan jika tidak, kemudian buat symlink ke file versi, misalnya, zlib. jadi 1.2.2. Tapi, ketika saya periksa, zlib.so DID ada. Jadi, saya pikir, pasti itu bukan masalahnya.
Saya menemukan posting lain di Internet yang menyarankan untuk menjalankan make dengan LD_DEBUG = semua:
LD_DEBUG=all make
Meskipun saya mendapat TON hasil debugging, itu sebenarnya tidak membantu. Itu menambahkan lebih banyak kebingungan daripada yang lain. Jadi, saya hampir menyerah.
Kemudian, saya memiliki pencerahan. Saya pikir untuk benar-benar memeriksa teks bantuan untuk perintah ld:
ld --help
Dari situ, saya menemukan cara menjalankan ld dalam mode verbose (bayangkan itu):
ld -lzlib --verbose
Ini adalah output yang saya dapatkan:
==================================================
attempt to open /usr/x86_64-linux-gnu/lib64/libzlib.so failed
attempt to open /usr/x86_64-linux-gnu/lib64/libzlib.a failed
attempt to open /usr/local/lib64/libzlib.so failed
attempt to open /usr/local/lib64/libzlib.a failed
attempt to open /lib64/libzlib.so failed
attempt to open /lib64/libzlib.a failed
attempt to open /usr/lib64/libzlib.so failed
attempt to open /usr/lib64/libzlib.a failed
attempt to open /usr/x86_64-linux-gnu/lib/libzlib.so failed
attempt to open /usr/x86_64-linux-gnu/lib/libzlib.a failed
attempt to open /usr/local/lib/libzlib.so failed
attempt to open /usr/local/lib/libzlib.a failed
attempt to open /lib/libzlib.so failed
attempt to open /lib/libzlib.a failed
attempt to open /usr/lib/libzlib.so failed
attempt to open /usr/lib/libzlib.a failed
/usr/bin/ld.bfd.real: cannot find -lzlib
Ding, ding, ding ...
Jadi, untuk akhirnya memperbaikinya sehingga saya dapat mengkompilasi MySQL dengan versi ZLIB saya sendiri (bukan versi yang dibundel):
sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so
Voila!