[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: