I'm happy to upstream (though I've taken some more extreme decisions in 
some areas in regards to prior compatibility).
Unfortunately, I don't believe there's an active maintainer for the pycapnp 
github repo so it's currently a bit futile. :(

On Friday, November 29, 2019 at 12:48:46 AM UTC-8, pepijn de vos wrote:
>
> Thanks for the link.
> While I'm not actually interested in RPC or async at all, this fork 
> actually works.
> Any chance this will be upstreamed?
>
> Pepijn
>
> On Fri, Nov 29, 2019 at 7:27 AM Jacob Alexander <[email protected] 
> <javascript:>> wrote:
>
>> While I haven't gotten all the tests working yet (there are some issues 
>> with some of the timer functions on Windows it seems), I spent a bunch of 
>> time getting asyncio working with pycapnp (it was the most reasonable way 
>> to get native Python TLS support working).
>> I've fixed a lot of bugs, removed a lot of the deprecated C++ functions 
>> (the warnings were hiding a lot of serious issues).
>>
>> https://github.com/haata/pycapnp-async
>>
>> I'll be using this for a cross-platform tool I've been working so I'll at 
>> least be maintaining it for basic client functionality (server stuff works 
>> as well, minus a few Windows tests). My main use case is a TLS connection 
>> between a Rust server and Python clients (this is currently working using 
>> tokio-rustls).
>>
>> It does require Python 3.7 and higher (3.8 also works). I discovered some 
>> bugs in asyncio that make porting difficult to 3.5 and 3.6 (though it's 
>> likely possible with a bunch of effort).
>>
>> -HaaTa
>>
>> On Thursday, November 28, 2019 at 6:24:08 AM UTC-8, Pepijn de Vos wrote:
>>>
>>> Actually, it appears that the library contains a pointer, whereas the 
>>> Python lib tries to use a reference.
>>> I'm not sure where this difference came from, but it's clearly incorrect.
>>>
>>> (env) [apicula]$ nm -gD /usr/lib/libkj-async-0.7.0.so | grep 
>>> TransformPromiseNodeBase
>>> 000000000002b1e0 T 
>>> _ZN2kj1_24TransformPromiseNodeBase7onReadyEPNS0_5EventE
>>> (env) [apicula]$ c++filt 
>>> _ZN2kj1_24TransformPromiseNodeBase7onReadyEPNS0_5EventE
>>> kj::_::TransformPromiseNodeBase::onReady(kj::_::Event*)
>>> (env) [apicula]$ c++filt 
>>> _ZN2kj1_24TransformPromiseNodeBase7onReadyERNS0_5EventE
>>> kj::_::TransformPromiseNodeBase::onReady(kj::_::Event&)
>>>
>>>
>>>
>>> On Thursday, 28 November 2019 15:17:40 UTC+1, Pepijn de Vos wrote:
>>>>
>>>> Hey all,
>>>>
>>>> I'm exploring serialization libraries, so I installed the Python lib 
>>>> and got the following error
>>>>
>>>> ImportError: [...]capnp.cpython-38-x86_64-linux-gnu.so: undefined 
>>>> symbol: _ZN2kj1_24TransformPromiseNodeBase7onReadyERNS0_5EventE
>>>>
>>>> Which is definitely a thing, and has been for two years: 
>>>> https://github.com/capnproto/capnproto/blame/master/c%2B%2B/src/kj/async-inl.h#L392
>>>>
>>>> It also seems to be linked correctly
>>>>
>>>> $ ldd [...]capnp.cpython-38-x86_64-linux-gnu.so
>>>>     linux-vdso.so.1 (0x00007ffe675cf000)
>>>>     libcapnpc-0.7.0.so => /usr/lib/libcapnpc-0.7.0.so (
>>>> 0x00007f7dc5173000)
>>>>     libcapnp-rpc-0.7.0.so => /usr/lib/libcapnp-rpc-0.7.0.so (
>>>> 0x00007f7dc5090000)
>>>>     libcapnp-0.7.0.so => /usr/lib/libcapnp-0.7.0.so (0x00007f7dc4ff4000
>>>> )
>>>>     libkj-async-0.7.0.so => /usr/lib/libkj-async-0.7.0.so (
>>>> 0x00007f7dc4f60000)
>>>>     libkj-0.7.0.so => /usr/lib/libkj-0.7.0.so (0x00007f7dc4eda000)
>>>>     libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f7dc4cf0000)
>>>>     libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f7dc4cd4000)
>>>>     libc.so.6 => /usr/lib/libc.so.6 (0x00007f7dc4b0d000)
>>>>     libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f7dc4aeb000)
>>>>     libm.so.6 => /usr/lib/libm.so.6 (0x00007f7dc49a5000)
>>>>     /usr/lib64/ld-linux-x86-64.so.2 (0x00007f7dc540e000)
>>>>
>>>>
>>>> So the system library version is 0.7, and the latest Python library is 
>>>> 0.6.4, not sure if the versions are just mismatched somehow.
>>>> I tried installing from git with the same result, is the Python library 
>>>> just outdated?
>>>> Or maybe the Arch package is just broken, because it doesn't contain 
>>>> the required symbol?
>>>>
>>>> Cheers,
>>>> Pepijn
>>>>
>>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "Cap'n Proto" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/capnproto/1x8_5_RC9wU/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/capnproto/f8decb16-f304-4d80-9e2c-7df4946df458%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/capnproto/f8decb16-f304-4d80-9e2c-7df4946df458%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Cap'n Proto" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/capnproto/812fa7a9-0bf3-4eb4-b483-e20f8ebb33c0%40googlegroups.com.

Reply via email to