I’m sort of expecting letsencrypt to handle OS updates like this. Alternatively is there a way to link it to the correct version… I can always install what you need.
I’ve now built 0.14.1 against python 2.6 and 2.6 on a standard CentOS 6.9 install, and all are failing with the same error ( and I’ve tried every logical suggestion on how to build in many threads )
0000000000000000 DF UND 0000000000000000 libcrypto.so.10 sk_num
objdump -T libcrypto.so.1.0.1e | grep sk_num
00000000000e5d00 g DF .text 000000000000000e libcrypto.so.10 sk_num
I have also summed these libraries against other CentOS 6 releases and they match. So, as far as I can tell, the code will not run against openssl version 1.0.1e.
Not the best test in the world, but I spun up a quick Centos 6.9 VM (x86_64) and ran a quick test to get a test certificate. I didn’t run into the error. I’d advise trying a clean certbot-auto setup if possible. It’s very likely that the python cryptography library installed by the tool (in the ~/.local/share/letsencrypt structure) was partly broken and may have since been fixed.
Now, I didn’t get far enough to actually gain the cert. The challange failed since I requested from my personal system, which wouldn’t be able to validate the challenge. However, I got past the account creation process and far enough to get to the verification. If the error occurs past that, I can try a different way.
As you’re probably aware at this point, the problem is occurring in our cryptography dependency. This is what the cryptography maintainer said before here when someone else hit this problem:
OPENSSL_sk_num is a symbol used under the covers for manipulating stack structures. It was added in 1.1.0 and did not exist prior to that, so the problem here is likely that it’s looking at the 1.1.0 include headers during compile but then loading an older OpenSSL.
I really cannot emphasize enough that it is extremely difficult to install your own custom OpenSSL and expect it to work reliably. The way the compiler does include and linker paths can be extremely counterintuitive.