Ja, diese Konfiguration ist möglich.
In Beantwortung Ihrer Frage, wie das System weiß, wie die Symbole zu verwenden sind, denken Sie daran, dass alle Verknüpfungen zur Erstellungszeit auftreten. Nach dem Aufbau geht es nicht um "Symbole", sondern nur um verschiedene Funktionen an verschiedenen Adressen.
Beim Erstellen von libB.so werden die Links zu libA.1.0.so eingerichtet. Es weiß nicht, was andere Anwendungen, die es verwenden, tun werden, es weiß, wie es seine eigenen Funktionsaufrufe abbildet.
Beim Erstellen der Anwendung selbst verbindet sich die Anwendung mit libB.so. Was immer libB.so aufruft, ist der Anwendung völlig unbekannt. Die Anwendung verbindet sich auch statisch mit einer Bibliothek, die libB.so nicht interessiert.
Eine Frage: Wenn libA statische Variablen verwendet, gibt es einen Satz von Statiken, die für libB.so zugänglich sind, und einen anderen, unabhängigen Satz von Statiken, der für die Anwendung zugänglich ist.
Danke für die Klarstellung! Sehr nützliche Information. –