ldconfig mira dentro de todos los objetos compartidos que encuentra, para buscar el soname. Luego crea un enlace usando ese soname como el nombre del enlace. Es convencional (pero está lejos de ser universal) que el soname sea el nombre y la versión principal de la biblioteca, por lo que su biblioteca foo.so.1.1 tendrá un soname de foo.so.1 y ldconfig creará un enlace llamado así.
Ninguna parte del sistema de tiempo de ejecución busca o conoce algo sobre el nombre foo.so. Eso se usa cuando vincula sus programas a la biblioteca. No tiene sentido tener ese enlace a menos que también tenga todos los otros archivos de desarrollo (encabezados, etc.) para la biblioteca, por lo que no tiene sentido que ldconfig lo cree automáticamente. Y dado que el nombre del enlace a utilizar es solo otra convención, y en este caso no se almacena dentro del archivo, no hay forma de que ldconfig sepa qué nombre crear.
Normalmente esto se crearía manualmente, en el destino de instalación del Makefile; cuando una biblioteca se empaqueta para una distribución de Linux, el vínculo normalmente vive en el paquete -dev junto con los archivos de encabezado.
http://stackoverflow.com/questions/462100/bash-script-to-create-symbolic-links-to-shared-libraries/8144642#8144642 – user1016736