<!-- Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for bug reports.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-users.lists.kamailio....
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-dev.lists.kamailio.or...
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
Note that an issue report may be closed automatically after about 2 months if there is no interest from developers or community users on pursuing it, being considered expired. In such case, it can be reopened by writing a comment that includes the token `/notexpired`. About two weeks before considered expired, the issue is marked with the label `stale`, trying to notify the submitter and everyone else that might be interested in it. To remove the label `stale`, write a comment that includes the token `/notstale`. Also, any comment postpone the `expire` timeline, being considered that there is interest in pursuing the issue.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment). -->
### Description
Building the db_sqlite or db_unixodbc modules on Alpine 3.20 fails. This is the error for `db_unixodbc`. The error for `db_sqlite` is a similar nature
``` dbase.c:261:32: error: passing argument 2 of 'db_do_close' from incompatible pointer type [-Wincompatible-pointer-types] 261 | return db_do_close(_h, db_unixodbc_free_connection); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void (*)(struct my_con *) In file included from val.h:34, from dbase.c:33: ../../lib/srdb1/db.h:495:40: note: expected 'void (*)(struct pool_con *)' but argument is of type 'void (*)(struct my_con *)' 495 | void db_do_close(db1_con_t *_h, void (*free_connection)(struct pool_con *)); | ```
I notice that it looks like a fix exists for this and I'm guessing it's not backported?
https://kamailio.org/mailman3/hyperkitty/list/sr-dev@lists.kamailio.org/mess...
### Troubleshooting
#### Reproduction
Follow normal build instructions on Alpine including either of these modules. This does not occur in Alpine 3.20
### Possible Solutions
I'm hoping the patch indicated in the link above would address the issue in 5.8.6. If there's any complier options, etc. that can be changed to address it as well that would be good to know.
* **Operating System**:
Alpine 3.21 ( docker image `alpine:3.21`)
New version of compilers report this kind of error, which was not spotted because the release testing is done on debian 12 (stable). I do not know if there are any flags for the compiler to disable this kind of error, but ultimately you can build the packages from the latest branch 5.8 instead of the tag for the release.
I'm building package, so (for me) the need to have it match the tag is greater than the need to have those specific packages since I'm not actively using those modules, I've just omitted them from the alpine 3.21 package set for 5.8.5. I'll give it a try from the branch as a sanity check. I assume if that builds, that we'd expect resolution in 5.8.6?
These fixes will be (as usual) integrated in the next stable release, sure.
github-actions[bot] left a comment (kamailio/kamailio#4121)
This issue is stale because it has been open 6 weeks with no activity. Remove stale label or comment or this will be closed in 2 weeks.
Closed #4121 as completed.
henningw left a comment (kamailio/kamailio#4121)
Commits were integrated into branch 5.8 and also branch 6.0 ( b05e8e8 and cd68ed20589 for 5.8, just for reference)