help with dpkg-shlibdeps/library dependencies
I'm packaging the latest syncevolution (beta2) which needs a snapshot of
libsynthesis (3.4.0.5+ds1). It builds fine, and seems to work, but the
calculated depencies are wrong.
src:libsynthesis makes two library binary packages, libsynthesis0 and
libsmltk0
dpkg-shlibdeps computes dependency
libsynthesis0 (>= 3.2.0.35+ds2-1)
This seems plausible, since the symbols file didn't change since
then. On the other hand, it doesn't generate any dependency on
libsmltk0, which is consistent with what is reported by.
objdump -x /usr/bin/syncevolution | grep NEEDED
Unfortunately, libsmltk0 has got at least one new symbol, and
syncevolution gets fatal runtime errors (although, it is a bit
mysterious that it doesn't get link time errors) if I install
3.2.0.35+ds2-2 of libsynthesis0 and libsmltk0
libsynthesis and syncevolution are in collab-maint, and you can get
them with
debcheckout libsynthesis
debcheckout syncevolution
Any ideas would be welcome. I tried linking with --as-needed and passing
-lsmltk explicitly, but it doesn't seem to change anything.
here is the link line from the build log (wrapped)
,----
| libtool: link: g++ -I/usr/include/gnome-keyring-1
| -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2
| -uSyncEvolution_Module_Version -Wl,--export-dynamic -Wl,--as-needed -o
| syncevolution syncevolution-syncevolution.o
| syncevolution-CmdlineSyncClient.o
| syncevolution-AddressBookSourceRegister.o
| syncevolution-EvolutionCalendarSourceRegister.o
| syncevolution-EvolutionContactSourceRegister.o
| syncevolution-FileSyncSourceRegister.o
| syncevolution-MaemoCalendarSourceRegister.o
| syncevolution-SQLiteContactSourceRegister.o
| syncevolution-XMLRPCSyncSourceRegister.o -pthread
| backends/addressbook/.libs/syncaddressbook.a
| backends/evolution/.libs/syncebook.a -lebook-1.2
| backends/evolution/.libs/syncecal.a -ldl -lecal-1.2 -lical -licalss
| -licalvcal
| /build/bremner-syncevolution_1.0+ds1~b2a-1-i386-Xlwprz/syncevolution-1.0+ds1~b2a/src/syncevo/.libs/libsyncevolution.a
| backends/file/.libs/syncfile.a backends/maemo/.libs/syncmaemocal.a
| backends/sqlite/.libs/syncsqlite.a backends/xmlrpc/.libs/syncxmlrpc.a
| syncevo/.libs/libsyncevolution.a -lsmltk -ledataserver-1.2
| /usr/lib/libxml2.so /usr/lib/libgconf-2.so /usr/lib/libbonobo-2.so
| /usr/lib/libbonobo-activation.so /usr/lib/libORBit-2.so -lsynthesissdk
| -lsynthesis -lsoup-2.4 /usr/lib/libgio-2.0.so /usr/lib/libgmodule-2.0.so
| -lopenobex /usr/lib/libbluetooth.so /usr/lib/libgthread-2.0.so -lrt
| /usr/lib/libgobject-2.0.so -lgnome-keyring /usr/lib/libglib-2.0.so
| -pthread
`----
Reply to: