[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: