I've found out what causes the instability. It was the upgrade from
glibc-2.33-5.fc34.x86_64 to glibc-2.34-1.fc35.x86_64 (not because of
any problem with glibc).
What actually changes is
ocaml-4.12.0/otherlibs/dynlink/dynlink_compilerlibs/config.ml
I've attached an example of this file below so you can see what it
contains. Because we eventually compute an MD5 hash of the strings in
this file, any change will cause the hash to change.
A few things change between glibc versions. The -ldl flag is removed.
And a space is removed after -m64. (Previously there was a double
space). This changes ocamlc_cflags, ocamlopt_cflags,
bytecomp_c_libraries, native_c_libraries and the lines beginning
"gcc -shared".
So my conclusion is that ocamlx(Dynlink) is extremely sensitive to
compiler flags. I'm not sure what to make of this at the moment.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org