I'm building an app for both Windows, Linux and Android in c++. As with many third party dependencies, the windows and linux binaries are to be found on conan (which I use for dep management) but Android is not. This is usually not a big issue, building one extra library from source. However for OpenSSL I have the suspicion that the 3.0.0 release on the official conan center registry differs from the official 3.0.0 source released on github.
A very simple diff suffices:
diff /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl
/path/to/Downloads/openssl-openssl-3.0.0/include/openssl
Only in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: asn1.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: asn1.h.inOnly in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: asn1t.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: asn1t.h.in
Only in path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: bio.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: bio.h.in
Only in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: cmp.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: cmp.h.in
diff /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/cmperr.h /path/to/Downloads/openssl-openssl-3.0.0/ds/openssl-openssl-3.0.0-beta1/openssl-openssl-3.0.0-beta1/include/openssl/cmperr.h
64d63
< # define CMP_R_MISSING_CERTID 165
105d103
< # define CMP_R_WRONG_CERTID 189
Only in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: cms.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: cms.h.in
Only in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: conf.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: conf.h.inOnly in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: configuration.h
...
Should be equal, right? It's not. What version of OpenSSL is uploaded to conan? How do I get the matching Android version? Or do I have to go through the trouble of building for Windows and Linux as well?
For the version you are downloading it looks like it is 3.0.0-beta1
, while ConanCenter packages 3.0.0
. Indeed, the beta version doesn't define CMP_R_MISSING_CERTID
while the released one does. Maybe it is just a version mismatch? The diff is huge https://github.com/openssl/openssl/compare/openssl-3.0.0-beta1...openssl-3.0.0 and it contains those changes your report in cmperr.h
file.