Knihovny nemají závislosti na ostatních knihovnách
Testuji mapování python -> .so, pokud se pokusím otevřít knihovnu alib2cli, nepodaří se to, protože tato knihovna nezná symbol GlobalData::verbose
(mangled) a další. V libalib2cli.so chybí závislost na libalib2common.so
$ ldd alib2cli/lib-debug/libalib2cli.so
linux-vdso.so.1 (0x00007fffb5d84000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fea545bb000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fea542a9000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fea54092000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fea53cec000)
/usr/lib64/ld-linux-x86-64.so.2 (0x00007fea54ed0000)
Ideálně by tam mělo být ještě libalib2common.so => něco
Vypadá to, že žádná knihovna není linkována s -l zavisleSO
(např. načtení alib2common nezná xmlFree
z libxml
)
Po přidání do makefile je to ok.
Řešením bude asi upravit linker pro knihovny?
Zkoušel jsem přidat do linkeru podobný kus kódu se kterým se kompilují jednotlivé cpp (vlastně závislosti z makefile.conf), ale vytvoří to (nevím proč) cyklickou závislost, kdy vytvoření lib-debug/libalib2cli.so závisí na lib-debug/libalib2cli.so Špatný copy-paste, nvm.