Versi singkatnya adalah Anda melakukan ini melalui soname perpustakaan. Baca bab 3 di http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html serta bab 3.3 Pembuatan Versi ABI di http://www.akkadia.org/drepper/dsohowto.pdf
Linux menggunakan strategi berikut - Anda (pemelihara sistem) menyediakan symlink dari file pustaka bersama 'spesifik', seperti ini:
lrwxrwxrwx 1 root root 16 2011-09-22 14:36 libieee1284.so -> libieee1284.so.3
lrwxrwxrwx 1 root root 20 2011-09-22 14:36 libieee1284.so.3 -> libieee1284.so.3.2.2
-rw-r--r-- 1 root root 46576 2011-07-27 13:08 libieee1284.so.3.2.2
Dengan cara ini, pengembang dapat menautkan ke -lieee1284 (versi ABI apa pun), atau libieee1284.so.3 atau bahkan ke versi rilis dan tambalan tertentu (3.2.2)
Cara terbaik untuk menangani ini adalah menggunakan libtool, yang melakukan pembuatan versi untuk Anda.
Pada dasarnya, informasi versi tidak (atau tidak terutama, tidak tahu dari kepalaku) dikodekan dalam perpustakaan itu sendiri, melainkan dalam nama filenya. Nomor versi biasanya diberikan dalam format tiga titik, dengan nomor utama bertambah untuk setiap jeda dalam kompatibilitas ABI menurun, tengah untuk jeda dalam kompatibilitas ABI naik, dan minor untuk tambalan yang tidak mengubah ABI.
Seperti yang dicatat qdot, symlink di direktori lib menyediakan versi penting. Ada symlink tanpa nomor versi (libfoo.so) untuk header pengembangan yang diinstal saat ini, symlink dengan nomor utama untuk setiap versi utama yang diinstal (libfoo.so.1) dan file asli dengan nomor versi lengkap. Biasanya, program ditautkan untuk menggunakan libfoo.so.1 saat runtime sehingga beberapa versi utama dapat digunakan bersamaan.