-
Notifications
You must be signed in to change notification settings - Fork 53
Open
Description
Installing luaossl via luarocks, on Arch Linux, Lua 5.4, openssl 3.5.0:
$ luarocks install --local luaossl
Installing https://luarocks.org/luaossl-20220711-0.src.rock
luaossl 20220711-0 depends on lua (5.4-1 provided by VM: success)
Applying patch config.h.diff...
Hunk 1 found at offset 2...
gcc -O2 -fPIC -I/usr/include -c src/openssl.c -o src/openssl.o -D_REENTRANT -D_THREAD_SAFE -DCOMPAT53_PREFIX=luaossl -D_GNU_SOURCE -I/usr/include -I/usr/include
src/openssl.c: In function ‘auxL_testoption’:
src/openssl.c:1176:27: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(const char *, const char *)’ [-Wincompatible-pointer-types]
1176 | int (*optcmp)() = (nocase)?
| ^
src/openssl.c:1186:26: error: too many arguments to function ‘optcmp’; expected 0, have 2
1186 | if (0 == optcmp(optlist[i], optname))
| ^~~~~~ ~~~~~~~~~~
src/openssl.c: At top level:
src/openssl.c:2835:70: error: initialization of ‘void * (*)(void)’ from incompatible pointer type ‘void * (*)(const SSL_CTX *, int)’ {aka ‘void * (*)(const struct ssl_ctx_st *, int)’} [-Wincompatible-pointer-types]
2835 | [EX_SSL_CTX_ALPN_SELECT_CB] = { CRYPTO_EX_INDEX_SSL_CTX, -1, &SSL_CTX_get_ex_data, &SSL_CTX_set_ex_data },
| ^
src/openssl.c:2835:70: note: (near initialization for ‘ex_type[0].get_ex_data’)
In file included from src/openssl.c:77:
/usr/include/openssl/ssl.h:2221:7: note: ‘SSL_CTX_get_ex_data’ declared here
2221 | void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx);
| ^~~~~~~~~~~~~~~~~~~
src/openssl.c:2835:92: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(SSL_CTX *, int, void *)’ {aka ‘int (*)(struct ssl_ctx_st *, int, void *)’} [-Wincompatible-pointer-types]
2835 | [EX_SSL_CTX_ALPN_SELECT_CB] = { CRYPTO_EX_INDEX_SSL_CTX, -1, &SSL_CTX_get_ex_data, &SSL_CTX_set_ex_data },
| ^
src/openssl.c:2835:92: note: (near initialization for ‘ex_type[0].set_ex_data’)
/usr/include/openssl/ssl.h:2220:12: note: ‘SSL_CTX_set_ex_data’ declared here
2220 | __owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data);
| ^~~~~~~~~~~~~~~~~~~
src/openssl.c:2836:76: error: initialization of ‘void * (*)(void)’ from incompatible pointer type ‘void * (*)(const SSL_CTX *, int)’ {aka ‘void * (*)(const struct ssl_ctx_st *, int)’} [-Wincompatible-pointer-types]
2836 | [EX_SSL_CTX_TLSEXT_SERVERNAME_CB] = { CRYPTO_EX_INDEX_SSL_CTX, -1, &SSL_CTX_get_ex_data, &SSL_CTX_set_ex_data },
| ^
src/openssl.c:2836:76: note: (near initialization for ‘ex_type[1].get_ex_data’)
/usr/include/openssl/ssl.h:2221:7: note: ‘SSL_CTX_get_ex_data’ declared here
2221 | void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx);
| ^~~~~~~~~~~~~~~~~~~
src/openssl.c:2836:98: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(SSL_CTX *, int, void *)’ {aka ‘int (*)(struct ssl_ctx_st *, int, void *)’} [-Wincompatible-pointer-types]
2836 | [EX_SSL_CTX_TLSEXT_SERVERNAME_CB] = { CRYPTO_EX_INDEX_SSL_CTX, -1, &SSL_CTX_get_ex_data, &SSL_CTX_set_ex_data },
| ^
src/openssl.c:2836:98: note: (near initialization for ‘ex_type[1].set_ex_data’)
/usr/include/openssl/ssl.h:2220:12: note: ‘SSL_CTX_set_ex_data’ declared here
2220 | __owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data);
| ^~~~~~~~~~~~~~~~~~~
src/openssl.c:2837:79: error: initialization of ‘void * (*)(void)’ from incompatible pointer type ‘void * (*)(const SSL_CTX *, int)’ {aka ‘void * (*)(const struct ssl_ctx_st *, int)’} [-Wincompatible-pointer-types]
2837 | [EX_SSL_CTX_CUSTOM_EXTENSION_ADD_CB] = { CRYPTO_EX_INDEX_SSL_CTX, -1, &SSL_CTX_get_ex_data, &SSL_CTX_set_ex_data },
| ^
src/openssl.c:2837:79: note: (near initialization for ‘ex_type[2].get_ex_data’)
/usr/include/openssl/ssl.h:2221:7: note: ‘SSL_CTX_get_ex_data’ declared here
2221 | void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx);
| ^~~~~~~~~~~~~~~~~~~
src/openssl.c:2837:101: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(SSL_CTX *, int, void *)’ {aka ‘int (*)(struct ssl_ctx_st *, int, void *)’} [-Wincompatible-pointer-types]
2837 | [EX_SSL_CTX_CUSTOM_EXTENSION_ADD_CB] = { CRYPTO_EX_INDEX_SSL_CTX, -1, &SSL_CTX_get_ex_data, &SSL_CTX_set_ex_data },
| ^
src/openssl.c:2837:101: note: (near initialization for ‘ex_type[2].set_ex_data’)
/usr/include/openssl/ssl.h:2220:12: note: ‘SSL_CTX_set_ex_data’ declared here
2220 | __owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data);
| ^~~~~~~~~~~~~~~~~~~
src/openssl.c:2838:81: error: initialization of ‘void * (*)(void)’ from incompatible pointer type ‘void * (*)(const SSL_CTX *, int)’ {aka ‘void * (*)(const struct ssl_ctx_st *, int)’} [-Wincompatible-pointer-types]
2838 | [EX_SSL_CTX_CUSTOM_EXTENSION_PARSE_CB] = { CRYPTO_EX_INDEX_SSL_CTX, -1, &SSL_CTX_get_ex_data, &SSL_CTX_set_ex_data },
| ^
src/openssl.c:2838:81: note: (near initialization for ‘ex_type[3].get_ex_data’)
/usr/include/openssl/ssl.h:2221:7: note: ‘SSL_CTX_get_ex_data’ declared here
2221 | void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx);
| ^~~~~~~~~~~~~~~~~~~
src/openssl.c:2838:103: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(SSL_CTX *, int, void *)’ {aka ‘int (*)(struct ssl_ctx_st *, int, void *)’} [-Wincompatible-pointer-types]
2838 | [EX_SSL_CTX_CUSTOM_EXTENSION_PARSE_CB] = { CRYPTO_EX_INDEX_SSL_CTX, -1, &SSL_CTX_get_ex_data, &SSL_CTX_set_ex_data },
| ^
src/openssl.c:2838:103: note: (near initialization for ‘ex_type[3].set_ex_data’)
/usr/include/openssl/ssl.h:2220:12: note: ‘SSL_CTX_set_ex_data’ declared here
2220 | __owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data);
| ^~~~~~~~~~~~~~~~~~~
src/openssl.c: In function ‘ex_getdata’:
src/openssl.c:2991:22: error: too many arguments to function ‘type->get_ex_data’; expected 0, have 2
2991 | if (!(data = type->get_ex_data(obj, type->index)))
| ^~~~ ~~~
src/openssl.c:2832:17: note: declared here
2832 | void *(*get_ex_data)();
| ^~~~~~~~~~~
src/openssl.c: In function ‘ex_setdata’:
src/openssl.c:3019:21: error: too many arguments to function ‘type->get_ex_data’; expected 0, have 2
3019 | if ((data = type->get_ex_data(obj, type->index)) && data->state) {
| ^~~~ ~~~
src/openssl.c:2832:17: note: declared here
2832 | void *(*get_ex_data)();
| ^~~~~~~~~~~
src/openssl.c:3029:22: error: too many arguments to function ‘type->set_ex_data’; expected 0, have 3
3029 | if (!type->set_ex_data(obj, type->index, data))
| ^~~~ ~~~
[...]
/usr/include/openssl/pem.h:395:37: note: expected ‘int (*)(const void *, unsigned char **)’ but argument is of type ‘int (*)(void)’
395 | int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp,
| ~~~~~~~~~~~~~^~~
src/openssl.c: In function ‘de5_string_to_key’:
src/openssl.c:12977:9: warning: ‘DES_string_to_key’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
12977 | DES_string_to_key(luaL_checkstring(L, 1), &key);
| ^~~~~~~~~~~~~~~~~
In file included from src/openssl.c:80:
/usr/include/openssl/des.h:193:28: note: declared here
193 | OSSL_DEPRECATEDIN_3_0 void DES_string_to_key(const char *str, DES_cblock *key);
| ^~~~~~~~~~~~~~~~~
src/openssl.c: In function ‘de5_set_odd_parity’:
src/openssl.c:12992:9: warning: ‘DES_set_odd_parity’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
12992 | DES_set_odd_parity(&key);
| ^~~~~~~~~~~~~~~~~~
/usr/include/openssl/des.h:176:28: note: declared here
176 | OSSL_DEPRECATEDIN_3_0 void DES_set_odd_parity(DES_cblock *key);
| ^~~~~~~~~~~~~~~~~~
Error: Build error: Failed compiling object src/openssl.o
Also tried with Lua 5.3 + luarocks 2.3.0.
Is this an upstream OpenSSL library incompatibility?
SunsetTech, jodros and Aadniz
Metadata
Metadata
Assignees
Labels
No labels