sergey-safarov created an issue (kamailio/kamailio#4264)
On `alpine:edge` upgraded `libjwt-dev` from `1.17.2-r0` to `3.2.1-r0` and on now present this error in the build log.
``` make[2]: --libs: No such file or directory make[2]: --libs: No such file or directory CC (cc) [M jwt.so] jwt_mod.o jwt_mod.c: In function 'ki_jwt_generate_hdrs': jwt_mod.c:215:17: error: implicit declaration of function 'jwt_free_str'; did you mean 'jwt_alg_str'? [-Wimplicit-function-declaration] 215 | jwt_free_str(_jwt_result.s); | ^~~~~~~~~~~~ | jwt_alg_str jwt_mod.c:275:15: error: implicit declaration of function 'jwt_new' [-Wimplicit-function-declaration] 275 | ret = jwt_new(&jwt); | ^~~~~~~ jwt_mod.c:283:15: error: implicit declaration of function 'jwt_add_grant_int' [-Wimplicit-function-declaration] 283 | ret = jwt_add_grant_int(jwt, "iat", iat); | ^~~~~~~~~~~~~~~~~ jwt_mod.c:293:39: error: implicit declaration of function 'jwt_add_grant' [-Wimplicit-function-declaration] 293 | ret = jwt_add_grant(jwt, pit->name.s, pit->body.s); | ^~~~~~~~~~~~~ jwt_mod.c:311:39: error: implicit declaration of function 'jwt_add_header' [-Wimplicit-function-declaration] 311 | ret = jwt_add_header(jwt, header->name.s, header->body.s); | ^~~~~~~~~~~~~~ jwt_mod.c:313:39: error: implicit declaration of function 'jwt_add_header_int'; did you mean 'jwt_header_get'? [-Wimplicit-function-declaration] 313 | ret = jwt_add_header_int(jwt, header->name.s, lval); | ^~~~~~~~~~~~~~~~~~ | jwt_header_get jwt_mod.c:324:15: error: implicit declaration of function 'jwt_set_alg'; did you mean 'jwt_get_alg'? [-Wimplicit-function-declaration] 324 | ret = jwt_set_alg(jwt, valg, (unsigned char *)kdata.s, (size_t)kdata.len); | ^~~~~~~~~~~ | jwt_get_alg jwt_mod.c:330:25: error: implicit declaration of function 'jwt_encode_str' [-Wimplicit-function-declaration] 330 | _jwt_result.s = jwt_encode_str(jwt); | ^~~~~~~~~~~~~~ jwt_mod.c:330:23: error: assignment to 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 330 | _jwt_result.s = jwt_encode_str(jwt); | ^ jwt_mod.c:337:9: error: implicit declaration of function 'jwt_free'; did you mean 'jwks_free'? [-Wimplicit-function-declaration] 337 | jwt_free(jwt); | ^~~~~~~~ | jwks_free jwt_mod.c: In function 'ki_jwt_verify_key': jwt_mod.c:443:9: error: unknown type name 'jwt_valid_t'; did you mean 'jwt_value_t'? 443 | jwt_valid_t *jwt_valid = NULL; | ^~~~~~~~~~~ | jwt_value_t jwt_mod.c:477:15: error: implicit declaration of function 'jwt_valid_new' [-Wimplicit-function-declaration] 477 | ret = jwt_valid_new(&jwt_valid, valg); | ^~~~~~~~~~~~~ jwt_mod.c:484:9: error: implicit declaration of function 'jwt_valid_set_headers' [-Wimplicit-function-declaration] 484 | jwt_valid_set_headers(jwt_valid, 1); | ^~~~~~~~~~~~~~~~~~~~~ jwt_mod.c:485:9: error: implicit declaration of function 'jwt_valid_set_now' [-Wimplicit-function-declaration] 485 | jwt_valid_set_now(jwt_valid, iat); | ^~~~~~~~~~~~~~~~~ jwt_mod.c:492:39: error: implicit declaration of function 'jwt_valid_add_grant' [-Wimplicit-function-declaration] 492 | ret = jwt_valid_add_grant(jwt_valid, pit->name.s, pit->body.s); | ^~~~~~~~~~~~~~~~~~~ jwt_mod.c:494:39: error: implicit declaration of function 'jwt_valid_add_grant_int' [-Wimplicit-function-declaration] 494 | ret = jwt_valid_add_grant_int(jwt_valid, pit->name.s, lval); | ^~~~~~~~~~~~~~~~~~~~~~~ jwt_mod.c:505:15: error: implicit declaration of function 'jwt_decode' [-Wimplicit-function-declaration] 505 | ret = jwt_decode( | ^~~~~~~~~~ jwt_mod.c:511:22: error: implicit declaration of function 'jwt_validate' [-Wimplicit-function-declaration] 511 | if((jwtret = jwt_validate(jwt, jwt_valid)) != JWT_VALIDATION_SUCCESS) { | ^~~~~~~~~~~~ jwt_mod.c:511:55: error: 'JWT_VALIDATION_SUCCESS' undeclared (first use in this function) 511 | if((jwtret = jwt_validate(jwt, jwt_valid)) != JWT_VALIDATION_SUCCESS) { | ^~~~~~~~~~~~~~~~~~~~~~ jwt_mod.c:511:55: note: each undeclared identifier is reported only once for each function it appears in jwt_mod.c:512:38: error: implicit declaration of function 'jwt_valid_get_status' [-Wimplicit-function-declaration] 512 | _jwt_verify_status = jwt_valid_get_status(jwt_valid); | ^~~~~~~~~~~~~~~~~~~~ jwt_mod.c:521:9: error: implicit declaration of function 'jwt_valid_free'; did you mean 'jwt_builder_free'? [-Wimplicit-function-declaration] 521 | jwt_valid_free(jwt_valid); | ^~~~~~~~~~~~~~ | jwt_builder_free make[2]: *** [../../Makefile.rules:100: jwt_mod.o] Error 1 make[1]: *** [Makefile:509: modules] Error 1 make[1]: Leaving directory '/usr/src/kamailio/pkg/kamailio/alpine/src/kamailio-78541805e73f1ca2a220e84734090ebd606bc5e4/src' make: *** [Makefile:34: all] Error 2
ERROR: kamailio: build failed kamailio: Uninstalling dependencies...
(1/1) Purging .makedepends-kamailio (20250527.180[501](https://github.com/sergey-safarov/kamailio/actions/runs/15282433856/job/4298...)) OK: 1028 MiB in 240 packages ```