Do czego służy opcja „soname” do tworzenia bibliotek współdzielonych?
Nauczyłem sięProgram Library HOWTO„. Wspomina o tym używającsoname
zarządzać podobną wersją.
gcc -shared -fPIC -Wl,-soname,libfoo.so.1 -o libfoo.so.1.0.0 foo.c
ln -s libfoo.so.1.0.0 libfoo.so.1
ln -s libfoo.so.1 libfoo.so
I dostaję informację, że jeślisoname
nie jest ustawiony. będzie równy libfoo.so.1.0.0, zobacz odpowiedź ztutaj.
I uważam, że może również działać bez soname, jak poniżej
gcc -shared -fPIC -o libfoo.so.1.0.0 foo.c
ln -s libfoo.so.1.0.0 libfoo.so.1
ln -s libfoo.so.1 libfoo.so
Myślę więc, że jedynym użytecznym punktem jest to, żesoname
opcja może poinformować o wersji biblioteki współużytkowanej podczas używaniareadelf -d libfoo.so
polecenie, aby to sprawdzić.
Co jeszcze może zrobić?