Hi folks,

Just resub'd after a long time to ask a question about binary/backwards 
compatibility.

We got bitten when upgrading from 3.0.0 to 3.0.3 which we assumed would be 
binary compatible and so (after some testing to confirm it was) replaced our 
existing 3.0.0 install with the 3.0.3 one (because we're using hierarchical 
namespaces in Lmod it meant we avoided needed to recompile everything we'd 
already built over the last 12 months with 3.0.0).

However, once we'd done that we heard from a user that their code would no 
longer run because it couldn't find libopen-pal.so.40 and saw that instead 
3.0.3 had libopen-pal.so.42.

Initially we thought this was some odd build system problem, but then on 
digging further we realised that they were linking against libraries that in 
turn were built against OpenMPI (HDF5) and that those had embedded the 
libopen-pal.so.40 names.

Of course our testing hadn't found that because we weren't linking against 
anything like those for our MPI tests. :-(

But I was really surprised to see that these version numbers were changing, I 
thought the idea was to keep things backwardly compatible within these series?

Now fortunately our reason for doing the forced upgrade (we found our 3.0.0 
didn't work with our upgrade to Slurm 18.08.3) was us missing one combination 
out of our testing whilst fault-finding and having gotten it going we've been 
able to drop back to the original 3.0.0 & fixed it for them.

But is this something that you folks have come across before?

All the best,
Chris
-- 
  Christopher Samuel     OzGrav Senior Data Science Support
  ARC Centre of Excellence for Gravitational Wave Discovery
  http://www.ozgrav.org/          http://twitter.com/ozgrav



_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/devel

Reply via email to