Commit 0de92b0
authored
Fix the OpenSSL 3.x symbols not found on macOS build (#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.1 parent 4c28ed5 commit 0de92b0
2 files changed
+5
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
197 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
198 | 200 | | |
199 | 201 | | |
200 | 202 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| 55 | + | |
54 | 56 | | |
55 | 57 | | |
56 | 58 | | |
| |||
0 commit comments