Hi emil,

This looks to me like a problem with the Arch packaging specifically. It
looks like the capnproto-java package was built against an older version of
the capnproto package, but failed to declare the specific library version
dependency. The package needs to be rebuilt against the latest version of
Cap'n Proto, and needs to declare the ABI version it requires so that it
doesn't break again next time.

This is an incompatibility between ABIs, that is, the interface between a
program an a shared library it depends on. capnpc-java (the code generator
for capnp-java) is written in C++ and links against libcapnp.so, the C++
Cap'n Proto implementation. In C++ it is nearly impossible to maintain
binary compatibility between library versions, so we include the library's
version number in its file name so that binaries linked against old
versions don't accidentally run against newer versions, which would
otherwise probably lead to crashes.

However, this has nothing to do with compatibility of the Cap'n Proto
message format. All versions and implementations of Cap'n Proto produce
compatible messages. Someone just needs to recompile capnpc-java against
the newer library. (You could do this by installing capnp-java from source.)

-Kenton

On Tue, Sep 11, 2018 at 10:12 AM, emil <[email protected]> wrote:

> Hi,
>
> An important aspect of the ser. framework is the cross-language interop.
> What will guarantee compatibility between capnproto and its pure-java
> counterpart, capnproto-java?
>
> In terms of packages, I'm using arch linux and currently, capnproto-java
> <https://aur.archlinux.org/packages/capnproto-java/> is behind the
> recently released version 0.7 of capnproto
> <https://www.archlinux.org/packages/community/x86_64/capnproto/>. There
> is also the GIT version of capnproto-java
> <https://github.com/capnproto/capnproto-java>, sure, but last commit
> being 3mo old I think it won't match either.
> What would be a recommended course of action?
>
> Error I'm getting a.t.m. is from the capnp-java compiler:
> /usr/bin/capnpc-java: error while loading shared libraries:
> libcapnp-0.6.1.so: cannot open shared object file: No such file or
> directory
>
> --
> 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].
> Visit this group at https://groups.google.com/group/capnproto.
>

-- 
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].
Visit this group at https://groups.google.com/group/capnproto.

Reply via email to