BewareMyPower opened a new pull request, #145: URL: https://github.com/apache/pulsar-client-python/pull/145
### Motivation Recently after the runner image was upgraded, the macOS build failed with `symbol not found in flat namespace (_EVP_PKEY_get_bn_param)`. See https://github.com/apache/pulsar-client-python/actions/runs/5805986979/job/15740588663?pr=134 There are actually two issues. One is that when building the C++ client on macOS, `/usr/local/opt/openssl/` will be firstly searched if `OPENSSL_ROOT_DIR` is not defined. https://github.com/apache/pulsar-client-cpp/blob/1e7d259bb94379ef6e4618fdac283912d0be6861/CMakeLists.txt#L136 It should be fixed at the C++ client side but we can also have a workaround here by defining the `OPENSSL_ROOT_DIR` variable. The other is that when building the libcurl, the headers from `/usr/local/include/openssl/` were included, see the logs: ``` /usr/local/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0' # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0) ``` It's a strange error because we have already configured the `--with-ssl` option to specify the OpenSSL directory. I tried adding `-I/path/to/my/openssl` to the `CFLAGS` env variable but it didn't work. ### Modifications To resolve the 1st issue, specifying `OPENSSL_ROOT_DIR` to the `DEPS_PREFIX` path when building the C++ client. To resolve the 2nd issue, since I cannot find an elegant way to do that, I just copied the OpenSSL headers from the dependency header directory to the libcurl include directory. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
