NRPE 4.0.3 not working with Amazon Linux 2023 and openssl 3
Posted: Mon Jan 05, 2026 1:17 pm
Trying to compile nrpe-4.0.3 on Amazon Linux 2023.
Looks like there are a number of errors with openssl 3.0 that ships with Amazon Linux 2023.
Am I doing something wrong ?
Thanks,
-- Donnie
[donnie@dev nrpe-4.0.3]# make all
cd ./src/; make
make[1]: Entering directory '/usr/local/src/nrpe-4.0.3/src'
gcc -g -O2 -DHAVE_CONFIG_H -I ../include -I ./../include -o nrpe ./nrpe.c ./uti ls.c ./acl.c -lssl -lcrypto
./nrpe.c: In function ‘init_ssl’:
./nrpe.c:287:9: warning: ‘ENGINE_load_builtin_engines’ is deprecated: Since Open SSL 3.0 [-Wdeprecated-declarations]
287 | ENGINE_load_builtin_engines();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../include/common.h:36,
from ./nrpe.c:38:
/usr/include/openssl/engine.h:358:28: note: declared here
358 | OSSL_DEPRECATEDIN_3_0 void ENGINE_load_builtin_engines(void);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./nrpe.c:288:9: warning: ‘RAND_set_rand_engine’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
288 | RAND_set_rand_engine(NULL);
| ^~~~~~~~~~~~~~~~~~~~
In file included from ../include/common.h:35,
from ./nrpe.c:38:
/usr/include/openssl/rand.h:52:27: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 int RAND_set_rand_engine(ENGINE *engine);
| ^~~~~~~~~~~~~~~~~~~~
./nrpe.c:289:9: warning: ‘ENGINE_register_all_complete’ is deprecated: Since Ope nSSL 3.0 [-Wdeprecated-declarations]
289 | ENGINE_register_all_complete();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../include/common.h:36,
from ./nrpe.c:38:
/usr/include/openssl/engine.h:415:27: note: declared here
415 | OSSL_DEPRECATEDIN_3_0 int ENGINE_register_all_complete(void);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nrpe.c:450:25: warning: ‘ERR_get_error_line_data’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
450 | while ((x = ERR_get_error_line_data(NULL, NULL, NULL, NULL)) != 0) {
| ^~~~~
In file included from ../include/common.h:34,
from ./nrpe.c:38:
/usr/include/openssl/err.h:425:15: note: declared here
425 | unsigned long ERR_get_error_line_data(const char **file, int *line,
| ^~~~~~~~~~~~~~~~~~~~~~~
./nrpe.c:474:22: warning: implicit declaration of function ‘get_dh2048’ [-Wimpli cit-function-declaration]
474 | dh = get_dh2048();
| ^~~~~~~~~~
./nrpe.c:474:20: warning: assignment to ‘DH *’ {aka ‘struct dh_st *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
474 | dh = get_dh2048();
| ^
./nrpe.c:476:17: warning: ‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecat ed-declarations]
476 | DH_free(dh);
| ^~~~~~~
In file included from /usr/include/openssl/dsa.h:31,
from /usr/include/openssl/x509.h:37,
from /usr/include/openssl/ssl.h:32,
from ../include/common.h:32,
from ./nrpe.c:38:
/usr/include/openssl/dh.h:207:28: note: declared here
207 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
| ^~~~~~~
./nrpe.c: In function ‘handle_conn_ssl’:
./nrpe.c
25: warning: ‘ERR_get_error_line_data’ is deprecated: Since OpenSS L 3.0 [-Wdeprecated-declarations]
2031 | while ((x = ERR_get_error_line_data(NULL, NULL, NULL, NULL)) != 0) {
| ^~~~~
In file included from ../include/common.h:34,
from ./nrpe.c:38:
/usr/include/openssl/err.h:425:15: note: declared here
425 | unsigned long ERR_get_error_line_data(const char **file, int *line,
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cc61YVa3.o: in function `init_ssl':
/local/src/nrpe-4.0.3/src/./nrpe.c:474:(.text+0x4e1): undefined reference to `ge t_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1
make[1]: Leaving directory '/usr/local/src/nrpe-4.0.3/src'
make: *** [Makefile:65: all] Error 2
Looks like there are a number of errors with openssl 3.0 that ships with Amazon Linux 2023.
Am I doing something wrong ?
Thanks,
-- Donnie
[donnie@dev nrpe-4.0.3]# make all
cd ./src/; make
make[1]: Entering directory '/usr/local/src/nrpe-4.0.3/src'
gcc -g -O2 -DHAVE_CONFIG_H -I ../include -I ./../include -o nrpe ./nrpe.c ./uti ls.c ./acl.c -lssl -lcrypto
./nrpe.c: In function ‘init_ssl’:
./nrpe.c:287:9: warning: ‘ENGINE_load_builtin_engines’ is deprecated: Since Open SSL 3.0 [-Wdeprecated-declarations]
287 | ENGINE_load_builtin_engines();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../include/common.h:36,
from ./nrpe.c:38:
/usr/include/openssl/engine.h:358:28: note: declared here
358 | OSSL_DEPRECATEDIN_3_0 void ENGINE_load_builtin_engines(void);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./nrpe.c:288:9: warning: ‘RAND_set_rand_engine’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
288 | RAND_set_rand_engine(NULL);
| ^~~~~~~~~~~~~~~~~~~~
In file included from ../include/common.h:35,
from ./nrpe.c:38:
/usr/include/openssl/rand.h:52:27: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 int RAND_set_rand_engine(ENGINE *engine);
| ^~~~~~~~~~~~~~~~~~~~
./nrpe.c:289:9: warning: ‘ENGINE_register_all_complete’ is deprecated: Since Ope nSSL 3.0 [-Wdeprecated-declarations]
289 | ENGINE_register_all_complete();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../include/common.h:36,
from ./nrpe.c:38:
/usr/include/openssl/engine.h:415:27: note: declared here
415 | OSSL_DEPRECATEDIN_3_0 int ENGINE_register_all_complete(void);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nrpe.c:450:25: warning: ‘ERR_get_error_line_data’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
450 | while ((x = ERR_get_error_line_data(NULL, NULL, NULL, NULL)) != 0) {
| ^~~~~
In file included from ../include/common.h:34,
from ./nrpe.c:38:
/usr/include/openssl/err.h:425:15: note: declared here
425 | unsigned long ERR_get_error_line_data(const char **file, int *line,
| ^~~~~~~~~~~~~~~~~~~~~~~
./nrpe.c:474:22: warning: implicit declaration of function ‘get_dh2048’ [-Wimpli cit-function-declaration]
474 | dh = get_dh2048();
| ^~~~~~~~~~
./nrpe.c:474:20: warning: assignment to ‘DH *’ {aka ‘struct dh_st *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
474 | dh = get_dh2048();
| ^
./nrpe.c:476:17: warning: ‘DH_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecat ed-declarations]
476 | DH_free(dh);
| ^~~~~~~
In file included from /usr/include/openssl/dsa.h:31,
from /usr/include/openssl/x509.h:37,
from /usr/include/openssl/ssl.h:32,
from ../include/common.h:32,
from ./nrpe.c:38:
/usr/include/openssl/dh.h:207:28: note: declared here
207 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);
| ^~~~~~~
./nrpe.c: In function ‘handle_conn_ssl’:
./nrpe.c
2031 | while ((x = ERR_get_error_line_data(NULL, NULL, NULL, NULL)) != 0) {
| ^~~~~
In file included from ../include/common.h:34,
from ./nrpe.c:38:
/usr/include/openssl/err.h:425:15: note: declared here
425 | unsigned long ERR_get_error_line_data(const char **file, int *line,
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cc61YVa3.o: in function `init_ssl':
/local/src/nrpe-4.0.3/src/./nrpe.c:474:(.text+0x4e1): undefined reference to `ge t_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1
make[1]: Leaving directory '/usr/local/src/nrpe-4.0.3/src'
make: *** [Makefile:65: all] Error 2