There was a working technique that allowed saving an image containing cl+ssl on a machine with one version of libssl and restoring that image on machines having another version of libssl. After this one line commit was made to CCL, that save/restore technique no longer works. Reverting the commit makes the technique work again:
82f5f8d3a758ebcd42bbea69d4c5cf265f027759
Has this commit therefore introduced a bug into CCL?
The technique was to do this just before saving the image, e.g. on a Linux machine containing libssl.so.1.0.0:
(cffi:close-foreign-library 'cl+ssl::libssl)
(cffi:close-foreign-library 'cl+ssl::libcrypto)
and this upon restoring the image, e.g. on a machine containing libssl.so.3:
(cl+ssl:reload)
This technique no longer works.
There are more details here, but they needn't be read:
https://github.com/cl-plus-ssl/cl-plus-ssl/issues/167#issuecomment-1287954622
In short, it seems like CCL hasn't fully forgotten the library from the original machine, indicating that CCL's close-shared-library function may not be doing its job.
As I said, reverting the one line CCL commit above makes the technique work again. Is reversion the correct solution?
There was a working technique that allowed saving an image containing cl+ssl on a machine with one version of libssl and restoring that image on machines having another version of libssl. After this one line commit was made to CCL, that save/restore technique no longer works. Reverting the commit makes the technique work again: 82f5f8d3a758ebcd42bbea69d4c5cf265f027759 Has this commit therefore introduced a bug into CCL?
The technique was to do this just before saving the image, e.g. on a Linux machine containing libssl.so.1.0.0: (cffi:close-foreign-library 'cl+ssl::libssl) (cffi:close-foreign-library 'cl+ssl::libcrypto) and this upon restoring the image, e.g. on a machine containing libssl.so.3: (cl+ssl:reload) This technique no longer works.
There are more details here, but they needn't be read: https://github.com/cl-plus-ssl/cl-plus-ssl/issues/167#issuecomment-1287954622 In short, it seems like CCL hasn't fully forgotten the library from the original machine, indicating that CCL's close-shared-library function may not be doing its job. As I said, reverting the one line CCL commit above makes the technique work again. Is reversion the correct solution?