On Sun, 16 Sep 2012 20:19:56 +0200, Alessandro Ghedini wrote:

Ciao Alessandro,

thanks alot for taking the time to shed some light here!

> > > So not linking to any curl lib doesn't look right ...
> > That could be done, as long as all the applications linking directly or
> > indirectly to liboauth link to a suitable libcurl too (i.e. leaving all the
> > libcurl symbols unresolved in liboauth). AFAICT this is currently not 
> > enforced
> > since e.g. oauth.pc only lists libcurl as Requires.private.

Ok.

> > Directly depending on libcurl3* packages is of no use: either the 
> > application
> > links to a libcurl flavour, in which case it would already Depends on a 
> > suitable
> > libcurl3 package, or it doesn't and it wouldn't pick up the library even if
> > installed 

Makes sense ... But liboauth does link (and therefore depend on) one
of the curl libs, unless forced to do otherwise.

> > Also note that libcurl3* libraries are not interchangeable, since they have
> > different SONAMEs and symbols versioning (i.e. once you link against one of
> > them at compile time, you have to use the same to resolve libcurl symbols at
> > load time).

Ack.
 
> To wrap this up: having "Depends: ..., libcurl4-gnutls-dev | libcurl4-dev, 
> ..."
> in liboauth-dev IMO is the simplest and most effective solution to the problem
> exposed (libcurl4*-dev conflicts).

If I'm understanding KURASHIKI Satoru and HAMANO Tsukasa correctly,
they are also not happy about the dependency of liboauth0 on one of
the curl libs. - Not sure about the background here.

What I've done now, since I'm more interested in #650138 actually :)

- Rebuild libouth whith only this change:

diff -Nru liboauth-0.9.4/debian/control liboauth-0.9.4/debian/control
--- liboauth-0.9.4/debian/control   2011-11-05 12:41:07.000000000 +0100
+++ liboauth-0.9.4/debian/control   2012-09-17 17:00:50.000000000 +0200
@@ -16,7 +16,7 @@
 Package: liboauth-dev
 Section: libdevel
 Architecture: any
-Depends: liboauth0 (= ${binary:Version}), libcurl4-nss-dev, ${misc:Depends}
+Depends: liboauth0 (= ${binary:Version}), libcurl4-nss-dev | libcurl4-dev, 
libnss3-dev, ${misc:Depends}
 Description: C library for implementing OAuth 1.0 (development files)
  liboauth is a collection of C functions implementing the


This leads to:

liboauth-dev_0.9.4-3.1_amd64.deb
 Depends: liboauth0 (= 0.9.4-3.1), libcurl4-nss-dev | libcurl4-dev, libnss3-dev
liboauth0_0.9.4-3.1_amd64.deb
 Depends: libc6 (>= 2.4), libcurl3-nss (>= 7.23.1), libnss3 (>= 2:3.13.4-2~) | 
libnss3-1d (>= 3.12.0~1.9b1)

and

% ldd /usr/lib/x86_64-linux-gnu/liboauth.so.0.8.1 | grep curl
    libcurl-nss.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4 
(0x00007f9e8d2e8000)

- Install liboauth0. Result: bti still fails as in #650138.

- Rebuild bti (with libcurl4-gnutls-dev insted of libcurl4-nss-dev.

Results:

bti_032-2_amd64.deb
 Depends: libc6 (>= 2.3), libcurl3-gnutls (>= 7.16.2), liboauth0 (>= 0.9.1), 
libpcre3 (>= 8.10), libxml2 (>= 2.7.4)

% ldd /usr/bin/bti | grep curl
    libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 
(0x00007f8a757df000)
    libcurl-nss.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-nss.so.4 
(0x00007f8a729ed000)

- Install rebuilt bti. Sill fails.


My "experiment" from late July still works:

Rebuilding liboauth with libcurl4-gnutls-dev instead of -nss- works
with the "old" bti (and also with a rebuilt one).


No sure what to make of this -- I'm confused :)


Cheers,
gregor


-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Cat Stevens: Sweet Jamaica

Attachment: signature.asc
Description: Digital signature

Reply via email to