Hi Pepijn, I suspect your problem is because somehow the Python module was built against headers from a different version of Cap'n Proto compared to the .so file that it's being linked against. I seem to recall there being some hackery in the Python implementation where it might try to use a bundled version of Cap'n Proto rather than the system-installed version, but I don't remember the details. Maybe this led to a mismatch.
-Kenton On Thu, Nov 28, 2019 at 6:17 AM Pepijn de Vos <[email protected]> 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/304b0818-aeef-48b7-87d8-ab028fd76bdb%40googlegroups.com > <https://groups.google.com/d/msgid/capnproto/304b0818-aeef-48b7-87d8-ab028fd76bdb%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/CAJouXQk26EP1S5jT3YW8arCeYmw7yN9ZYXTqD2KCpHQUmKhAXg%40mail.gmail.com.
