Sorry, forgot the for-4.21 in the subject.

~Andrew

On 04/11/2025 4:56 pm, Andrew Cooper wrote:
> The latest oxenstored from Xapi-project fails to start up:
>
>   launch-xenstore[1201]: Starting /usr/sbin/oxenstored...
>   launch-xenstore[1222]: Fatal error: exception
>     Dynlink.Error (Dynlink.Cannot_open_dll "Dynlink.Error 
> (Dynlink.Cannot_open_dll
>     
> \"Failure(\\\"/usr/libexec/xen//ocaml/xsd_glue/xenctrl_plugin/domain_getinfo_v1.cmxs:
>     undefined symbol: xc_domain_getinfo_single\\\")\")")
>
> This is because domain_getinfo_v1.cmxs isn't dynamically linked correctly.
> Fill in the correct variable, and remove the xen prefix from xenctrl.
>
> Reported-by: Edwin Török <[email protected]>
> Suggested-by: Edwin Török <[email protected]>
> Fixes: a6576011a4d2 ("ocaml/libs: Implement a dynamically-loaded plugin for 
> Xenctrl.domain_getinfo")
> Signed-off-by: Andrew Cooper <[email protected]>
> ---
> CC: Christian Lindig <[email protected]>
> CC: Rob Hoes <[email protected]>
> CC: Pau Ruiz Safont <[email protected]>
> CC: Andrii Sultanov <[email protected]>
> CC: Oleksii Kurochko <[email protected]>
>
> For 4.21.  Without this, we can't proceed with deprecate oxenstored.
>
> This wants backporting to 4.20 too.
>
> Previously this was hidden by oxenstored unexpectedly statically linking
> libxenctrl via the ocaml-evtchn bindings, and became exposed when the bindings
> were moved to use libxenevtchn.
> ---
>  tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile 
> b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
> index 4be1feacfe24..6356159020c1 100644
> --- a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
> +++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
> @@ -11,7 +11,7 @@ OBJS = domain_getinfo_v1
>  INTF = $(foreach obj, $(OBJS),$(obj).cmi)
>  LIBS = domain_getinfo_v1.cmxa domain_getinfo_v1.cmxs
>  
> -LIBS_xsd_glue = $(call xenlibs-ldflags-ldlibs,xenctrl)
> +LIBS_domain_getinfo_v1 = $(call xenlibs-ldflags-ldlibs,ctrl)
>  
>  all: $(INTF) $(LIBS) $(PROGRAMS)
>  
>
> base-commit: 9632ce6fe5b288244d2550cd2e619a55c5168bf8


Reply via email to