Re: New dependency system.
On 13-10-2009, Stefano Zacchiroli <zack@debian.org> wrote:
>
>> > [1] Actually, this is rather interesting. I'm surprised that upstream
>> > has never thought about this: it would be terribly useful to store
>> > in some part of the .so a checksum which is verified at runtime
>> > before loading the .so. I guess there is a technical reason for not
>> > having done that, but I can't find exactly which at the moment.
>> Maybe, the most simple example is a non-custom bytecode binary
>> executable ?
>>=20
>> Let's choose headache as an example.
>
> I think you're cheating with this example, because a change in the OCaml
> compiler can pretty much change everything, and that's exactly why (also
> *before* dh_ocaml) we were keeping versioned dependencies on the ABI of
> OCaml itself.
>
I am not cheating ;-)
The decision we took of versioned dependencies is a "safe guard". Some
people can argue that we are too much safe. In certain case, it should
be possible to run a bytecode exec with newer OCaml version.
Ok, just doing the test I get:
compile on 3.10.2, run on 3.11.1:
Fatal error: unknown C primitive `unix_getsockopt_bool'
compile on 3.11.1, run on 3.10.2:
Fatal error: unknown C primitive `caml_set_parser_trace'
So I must agree, that 3.10 -> 3.11 is not possible. Maybe 3.10.1 ->
3.10.2.
Regards,
Sylvain Le Gall
Reply to: