Subject: Re: bug#69996: Broken OCaml packages (e.g. frama-c and binsec)

From: Julien Lepiller <[email-masked]>
Date: Tue, 02 Apr 2024 16:01:57 +0200

At least for Frama-C, the issue is environment variables. It requires OCAMLPATH to work correctly. So this works:

guix shell frama-c ocaml -- frama-c

Even though the compiler is not needed.

It's another example of why we should propagate search paths, although we could also redefine the same search path in packages that need it ;)

Le 25 mars 2024 11:29:44 GMT+01:00, pukkamustard <[email-masked]> a écrit :
>
>As reported by Arnaud (off-list mail) some OCaml packages build fine but
>seem to be broken.
>
>Examples include `frama-c` and `binsec`:
>
>```
>guix shell frama-c -- frama-c
>[kernel] Current source was: :0
>  The full backtrace is:
>  Raised at Dune_site_plugins__Plugins.lookup_and_summarize.loop.(fun) in file "otherlibs/dune-site/src/plugins/plugins.ml", line 237, characters 16-87
>  Called from Dune_site_plugins__Plugins.load_gen in file "otherlibs/dune-site/src/plugins/plugins.ml", line 263, characters 39-69
>  Called from Stdlib__List.iter in file "list.ml", line 110, characters 12-15
>  Called from Stdlib__List.iter in file "list.ml", line 110, characters 12-15
>  Called from Frama_c_kernel__Kernel.bootstrap_loader in file "src/kernel_services/plugin_entry_points/kernel.ml", line 933, characters 35-62
>  Called from Frama_c_kernel__Cmdline.parse_and_boot in file "src/kernel_services/cmdline_parameters/cmdline.ml", line 894, characters 2-22
>  Called from Frama_c_kernel__Cmdline.catch_toplevel_run in file "src/kernel_services/cmdline_parameters/cmdline.ml", line 233, characters 4-8
>  
>  Unexpected error (The library "frama-c-aorai.core" can't be found in the search paths "/gnu/store/psmc4940aa9bj23dddkglv0p2yhi05kn-ocaml-4.14.1/lib".).
>  Please report as 'crash' at https://git.frama-c.com/pub/frama-c/issues
>  Your Frama-C version is 27.1 (Cobalt).
>  Note that a version and a backtrace alone often do not contain enough
>  information to understand the bug. Guidelines for reporting bugs are at:
>  https://git.frama-c.com/pub/frama-c/-/wikis/Guidelines-for-reporting-bugs
>```
>
>```
>guix shell binsec -- binsec -v
>Fatal error: exception The library "binsec.sse.checkct" can't be found in the search paths "/gnu/store/psmc4940aa9bj23dddkglv0p2yhi05kn-ocaml-4.14.1/lib".
>```
>
>
>