On Tue, Sep 19, 2017 at 3:41 AM, Philipp Eib <[email protected]> wrote:
>> -----Original Message-----
>> From: Ken Giusti [mailto:[email protected]]
>> Sent: Freitag, 15. September 2017 15:15
>> To: users <[email protected]>
>> Subject: Re: Proton bindings for python3
>>
>> Hi Philipp,
>>
>> There's a couple of ways to install the binding via pip:
>>
>> 1) from the source release:
>>
>> Look for the PACKAGING.txt file in proton-c/bindings/python in the source
>> tree.  That will explain how to install the binding via setup.py.  You have 
>> the
>> option of building the sdist tar and install that via pip:
>>
>> $ cd <build-dir>/proton-c/bindings/python/dist
>> $ python setup.py build sdist
>> $ pip install dist/python-qpid-proton-0.17.0.tar.gz
>>
>> OR
>>
>> 2) use pip to download and install python-qpid-proton via pypi
>>
>> pip install python-qpid-proton
>>
>> Whatever works for you.  However note well for both approaches:
>>
>> 1) you need to have the 1.0.x SSL dev packages installed (libssl-dev).
>> Without this the binding will end up disabling SSL support.
>> 2) Double check that the binding actually links to the correct library.  When
>> installing the setup.py script checks to see if there is already the correct
>> version of libqpid-proton installed (it checks via pkg-config) and uses that
>> library when linking.  If setup.py doesn't find a suitable libqpid-proton it 
>> will
>> attempt to build it using the provided C files.  The point being if setup.py
>> finds a library that does not have SSL enabled the resulting python module
>> will lack SSL support.
>
>
> Ok, ultimately, the problem was that pkg-config was not present on the system.
> This meant that the pip install could neither find libqpid nor libssl.
> There are actually nice warnings "pkg-config not found" printed when 
> installing via "python setup.py". However, when installing via pip they are 
> suppressed (maybe logged?) and it silently builds proton from scratch without 
> SSL.
> Thanks for the detailed breakdown.
>

Good to hear you've got it working.  Yeah, looks like pip does swallow
that warning log (only shows with the '-v' option).  Not very helpful.

>
>>
>> let us know if you hit any problems
>>
>> -K
>>
>> On Fri, Sep 15, 2017 at 3:50 AM, Philipp Eib <[email protected]>
>> wrote:
>> >> -----Original Message-----
>> >> From: Ken Giusti [mailto:[email protected]]
>> >> Sent: Donnerstag, 14. September 2017 18:29
>> >> To: users <[email protected]>
>> >> Subject: Re: Proton bindings for python3
>> >>
>> >> On Thu, Sep 14, 2017 at 11:04 AM, Philipp Eib
>> >> <[email protected]>
>> >> wrote:
>> >> > Hi Ken.
>> >> >
>> >> > Thanks for your answer.
>> >> > I installed it from standard 16.04 repo.
>> >> > I have now added the Qpid PPA, but it seems to only contain a
>> >> > "python-
>> >> qpid-proton" package, but no "python3-qpid-proton":
>> >> >
>> >> > $ apt-cache showpkg python-qpid-proton
>> >> > Package: python-qpid-proton
>> >> > Versions:
>> >> >  0.17.0-1xenial+qpid1
>> >> > (/var/lib/apt/lists/ppa.launchpad.net_qpid_released_ubuntu_dists_xe
>> >> > nia
>> >> > l_main_binary-amd64_Packages)
>> >> > [...]
>> >> > 0.10-2
>> >> > (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe
>> >> > _bi
>> >> > nary-amd64_Packages)
>> >> >
>> >> > $ apt-cache showpkg python3-qpid-proton
>> >> > Package: python3-qpid-proton
>> >> > Versions:
>> >> > 0.10-2
>> >> > (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe
>> >> > _bi
>> >> > nary-amd64_Packages) (/var/lib/dpkg/status)
>> >> >
>> >> > The Python3  v0.10-2 package is from the official repo and, at
>> >> > least for me,
>> >> does not contain SSL:
>> >> > $ python3
>> >> > Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609]
>> >> > on linux Type "help", "copyright", "credits" or "license" for more
>> >> > information.
>> >> >>>> import proton
>> >> >>>> proton.SSL.present()
>> >> > False
>> >> >>>>
>> >> >
>> >> > Can you please check from which repo you got the
>> >> > python3-qpid-proton
>> >> package with SSL?
>> >> >
>> >>
>> >>
>> >> Aha!  My mistake: looks like mine is pulled from universe also!  I'm
>> >> so used to using the ppa I didn't notice.
>> >> I can't explain why your installation does not have SSL support -
>> >> apt-cache shows a dependency on it for me:
>> >>
>> >>
>> >> $ apt-cache showpkg python3-qpid-proton
>> >> Package: python3-qpid-proton
>> >> Versions:
>> >> 0.10-2
>> >> (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_xenial_univers
>> >> e_bi
>> >> nary-amd64_Packages)
>> >> (/var/lib/dpkg/status)
>> >>  Description Language:
>> >>                  File:
>> >> /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_xenial_universe
>> >> _bin
>> >> ary-amd64_Packages
>> >>                   MD5: e9b42c24004b85935e6d4fcc7c3049d1  Description 
>> >> Language:
>> >>                  File:
>> >> /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_xenial_universe
>> >> _bin
>> >> ary-i386_Packages
>> >>                   MD5: e9b42c24004b85935e6d4fcc7c3049d1  Description 
>> >> Language:
>> >> en
>> >>                  File:
>> >> /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_xenial_universe
>> >> _i18
>> >> n_Translation-en
>> >>                   MD5: e9b42c24004b85935e6d4fcc7c3049d1
>> >>
>> >>
>> >> Reverse Depends:
>> >>   python3-pyngus,python3-qpid-proton 0.9
>> >>   python3-qpid-proton:i386,python3-qpid-proton
>> >> Dependencies:
>> >> 0.10-2 - libqpid-proton2 (0 (null)) python3 (3 3.6) python3 (2 3.5~)
>> >> libc6 (2 2.14) libssl1.0.0 (2 1.0.0) python3-qpid-proton:i386 (32
>> >> (null))
>> >> Provides:
>> >> 0.10-2 - python3.5-qpid-proton (= )
>> >> Reverse Provides:
>> >>
>> >> kgiusti@Ubuntu16:~$ dpkg-query -L python3-qpid-proton /.
>> >> /usr
>> >> /usr/lib
>> >> /usr/lib/python3
>> >> /usr/lib/python3/dist-packages
>> >> /usr/lib/python3/dist-packages/_cproton.cpython-35m-x86_64-linux-gnu.
>> >> so /usr/lib/python3/dist-packages/python_qpid_proton-0.10.0.egg-info
>> >> /usr/lib/python3/dist-packages/proton
>> >> /usr/lib/python3/dist-packages/proton/_compat.py
>> >> /usr/lib/python3/dist-packages/proton/reactor.py
>> >> /usr/lib/python3/dist-packages/proton/__init__.py
>> >> /usr/lib/python3/dist-packages/proton/wrapper.py
>> >> /usr/lib/python3/dist-packages/proton/utils.py
>> >> /usr/lib/python3/dist-packages/proton/handlers.py
>> >> /usr/lib/python3/dist-packages/cproton.py
>> >> /usr/share
>> >> /usr/share/doc
>> >> /usr/share/doc/python3-qpid-proton
>> >> /usr/share/doc/python3-qpid-proton/copyright
>> >> /usr/share/doc/python3-qpid-proton/changelog.Debian.gz
>> >>
>> >> kgiusti@Ubuntu16:~$ ldd
>> >> /usr/lib/python3/dist-packages/_cproton.cpython-35m-x86_64-linux-
>> gnu.so
>> >>     linux-vdso.so.1 =>  (0x00007ffd84c58000)
>> >>     libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0
>> >> (0x00007f778151a000)
>> >>     libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
>> >> (0x00007f77810d6000)
>> >>     librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f7780ece000)
>> >>     libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
>> >> (0x00007f7780cb1000)
>> >>     libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f77808e7000)
>> >>     libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f77806e3000)
>> >>     /lib64/ld-linux-x86-64.so.2 (0x00007f7781a42000)
>> >
>> >
>> > Thanks for the detailed report, it helped me track down the problem.
>> > I found a rogue pip install I must have done some time ago...
>> > After uninstalling it python used the system one and SSL was available.
>> >
>> > Is it possible to provide the pip binary with SSL as well?
>> > I tend to prefer pip over system package managers as the former are
>> usually more frequently updated and integrate well with virtualenv.
>> >
>> > p.
>> >
>> >
>> >> > Thanks,
>> >> > p.
>> >> >
>> >> > -----Original Message-----
>> >> > From: Ken Giusti [mailto:[email protected]]
>> >> > Sent: Donnerstag, 14. September 2017 16:10
>> >> > To: users <[email protected]>
>> >> > Subject: Re: Proton bindings for python3
>> >> >
>> >> > Hi Philipp,
>> >> >
>> >> >
>> >> >
>> >> > On Thu, Sep 14, 2017 at 9:16 AM, Philipp Eib
>> >> > <[email protected]>
>> >> wrote:
>> >> >> Hi,
>> >> >>
>> >> >> what do I need to set to build the proton bindings for python3
>> >> >> instead of the default python2?
>> >> >>
>> >> >>
>> >> >>
>> >> >> Background:
>> >> >>
>> >> >> I need Proton with SSL support. Unfortunately, the
>> >> >> python3-qpid-proton package for Ubuntu is not built with SSL
>> >> >> support => I get an error
>> >> >> "SSLUnavailable: amqps: SSL libraries not found".
>> >> >>
>> >> >
>> >> > Hrm... what version of the python3-qpid-proton package did you
>> >> > install?   Did you install it from the Qpid released PPA?
>> >> >
>> >> > I'm on 16.04, have added the Qpid PPA (sudo add-apt-repository
>> >> > ppa:qpid/released) and installed python3-qpid-proton version 0.10-2
>> >> > via
>> >> apt-get.
>> >> > Looks like it's dependent on libssl.  And importing the proton
>> >> > module in
>> >> python3 shows that SSL support is present:
>> >> >
>> >> > kgiusti@Ubuntu16:~$ python3
>> >> > Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609]
>> >> > on linux
>> >> Type "help", "copyright", "credits" or "license" for more information.
>> >> >>>> import proton
>> >> >>>> proton.SSL.present()
>> >> > True
>> >> >>>>
>> >> >
>> >> >
>> >> >
>> >> >> Therefore I have built proton myself. Only problem: the python2
>> >> >> interpreter is used by default.
>> >> >>
>> >> >> Stupidly using the generated python2 .so in python3 results in an
>> >> >> "ImportError: dynamic module does not define module export
>> >> >> function (PyInit__cproton)".
>> >> >>
>> >> >>
>> >> >>
>> >> >> Thanks,
>> >> >>
>> >> >> p.
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > -K
>> >> >
>> >> > -------------------------------------------------------------------
>> >> > -- To unsubscribe, e-mail: [email protected] For
>> >> > additional commands, e-mail: [email protected]
>> >> >
>> >> >
>> >> >
>> >> > -------------------------------------------------------------------
>> >> > -- To unsubscribe, e-mail: [email protected] For
>> >> > additional commands, e-mail: [email protected]
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> -K
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [email protected] For
>> >> additional commands, e-mail: [email protected]
>> >
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [email protected] For
>> > additional commands, e-mail: [email protected]
>> >
>>
>>
>>
>> --
>> -K
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected] For additional
>> commands, e-mail: [email protected]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>



-- 
-K

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to