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 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/9b8bdfa5-d1d5-4f14-970d-307bdb1209f6%40googlegroups.com.
